10000 Fix possible CME while replacing properties (#2416) · docker-java/docker-java@d9b6533 · GitHub
[go: up one dir, main page]

Skip to content

Commit d9b6533

Browse files
eddumelendeztkrah
andauthored
Fix possible CME while replacing properties (#2416)
Fixes #2274 --------- Co-authored-by: Torsten Krah <krah.tm@gmail.com>
1 parent 1d6c344 commit d9b6533

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

docker-java-core/src/main/java/com/github/dockerjava/core/DefaultDockerClientConfig.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import com.github.dockerjava.api.model.AuthConfigurations;
66
import com.github.dockerjava.core.NameParser.HostnameReposName;
77
import com.github.dockerjava.core.NameParser.ReposTag;
8+
9+
import java.util.Map.Entry;
810
import java.util.Optional;
911
import org.apache.commons.lang3.StringUtils;
1012
import org.apache.commons.lang3.SystemUtils;
@@ -128,9 +130,11 @@ private static Properties loadIncludedDockerProperties(Properties systemProperti
128130
}
129131

130132
private static void replaceProperties(Properties properties, Properties replacements) {
131-
for (Object objectKey : properties.keySet()) {
132-
String key = objectKey.toString();
133-
properties.setProperty(key, replaceProperties(properties.getProperty(key), replacements));
133+
for (Entry<Object, Object> entry : properties.entrySet()) {
134+
final String key = entry.getKey().toString();
135+
// no entry.getValue here because it does not have the same semantics as getProperty (defaults handling)
136+
final String value = properties.getProperty(key);
137+
entry.setValue(replaceProperties(value, replacements));
134138
}
135139
}
136140

0 commit comments

Comments
 (0)
0