You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gb...@apache.org on 2016/10/13 21:28:22 UTC
maven git commit: [MNG-6105]
properties.internal.SystemProperties.addSystemProperties() is not really
thread-safe
Repository: maven
Updated Branches:
refs/heads/master 8fe10c341 -> d8e3585e0
[MNG-6105] properties.internal.SystemProperties.addSystemProperties() is
not really thread-safe
If a property is concurrently removed from System.getProperties(), we
shouldn't try to insert 'null' since this is not allowed by Properties:
adding a null-check.
Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/d8e3585e
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/d8e3585e
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/d8e3585e
Branch: refs/heads/master
Commit: d8e3585e051db0293ddd41c781b39e0bf9ce350b
Parents: 8fe10c3
Author: Guillaume Bou� <gb...@apache.org>
Authored: Thu Oct 13 23:28:16 2016 +0200
Committer: Guillaume Bou� <gb...@apache.org>
Committed: Thu Oct 13 23:28:16 2016 +0200
----------------------------------------------------------------------
.../apache/maven/properties/internal/SystemProperties.java | 7 ++++++-
.../settings/building/DefaultSettingsBuildingRequest.java | 7 ++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven/blob/d8e3585e/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java b/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
index 0372558..0a77376 100644
--- a/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
+++ b/maven-core/src/main/java/org/apache/maven/properties/internal/SystemProperties.java
@@ -35,7 +35,12 @@ public class SystemProperties
{
for ( String key : System.getProperties().stringPropertyNames() )
{
- props.put( key, System.getProperty( key ) );
+ String value = System.getProperty( key );
+ // could be null if another thread concurrently removed this key (MNG-6105)
+ if ( value != null )
+ {
+ props.put( key, value );
+ }
}
}
http://git-wip-us.apache.org/repos/asf/maven/blob/d8e3585e/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java
index 5a4824e..d917a9c 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuildingRequest.java
@@ -119,7 +119,12 @@ public class DefaultSettingsBuildingRequest
// MNG-5670 guard against ConcurrentModificationException
for ( String key : System.getProperties().stringPropertyNames() )
{
- this.systemProperties.put( key, System.getProperty( key ) );
+ String value = System.getProperty( key );
+ // could be null if another thread concurrently removed this key (MNG-6105)
+ if ( value != null )
+ {
+ this.systemProperties.put( key, value );
+ }
}
}
else