Skip to content

Commit 5ae5655

Browse files
mccullsmtoffl01
authored andcommitted
Make the default config sources more robust when a security manager is installed (#8544)
* Make the default config sources more robust when a security manager is installed If we don't have permission to access system properties or the environment then fall back to defaults. * Exclude from instruction coverage as hard to test security exception case in this module
1 parent c1d1693 commit 5ae5655

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

internal-api/build.gradle

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,11 @@ excludedClassesBranchCoverage = [
221221
'datadog.trace.util.stacktrace.HotSpotStackWalker',
222222
'datadog.trace.util.stacktrace.StackWalkerFactory'
223223
]
224-
excludedClassesInstructionCoverage = ['datadog.trace.util.stacktrace.StackWalkerFactory']
224+
excludedClassesInstructionCoverage = [
225+
'datadog.trace.bootstrap.config.provider.EnvironmentConfigSource',
226+
'datadog.trace.bootstrap.config.provider.SystemPropertiesConfigSource',
227+
'datadog.trace.util.stacktrace.StackWalkerFactory'
228+
]
225229

226230
compileTestJava.dependsOn 'generateTestClassNameTries'
227231

internal-api/src/main/java/datadog/trace/bootstrap/config/provider/EnvironmentConfigSource.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ final class EnvironmentConfigSource extends ConfigProvider.Source {
88

99
@Override
1010
protected String get(String key) {
11-
return System.getenv(propertyNameToEnvironmentVariableName(key));
11+
try {
12+
return System.getenv(propertyNameToEnvironmentVariableName(key));
13+
} catch (SecurityException e) {
14+
return null;
15+
}
1216
}
1317

1418
@Override

internal-api/src/main/java/datadog/trace/bootstrap/config/provider/SystemPropertiesConfigSource.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ public final class SystemPropertiesConfigSource extends ConfigProvider.Source {
88

99
@Override
1010
protected String get(String key) {
11-
return System.getProperty(propertyNameToSystemPropertyName(key));
11+
try {
12+
return System.getProperty(propertyNameToSystemPropertyName(key));
13+
} catch (SecurityException e) {
14+
return null;
15+
}
1216
}
1317

1418
@Override

0 commit comments

Comments
 (0)