You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by li...@apache.org on 2006/11/23 10:30:56 UTC
svn commit: r478521 - in /harmony/enhanced/classlib/trunk/modules/luni/src:
main/java/java/lang/ProcessBuilder.java
test/java/org/apache/harmony/luni/tests/java/lang/ProcessBuilderTest.java
Author: liangyx
Date: Thu Nov 23 01:30:55 2006
New Revision: 478521
URL: http://svn.apache.org/viewvc?view=rev&rev=478521
Log:
apply patch for HARMONY-2256 ([classlib][luni]should throw NPE when put/get a null value to/from env map.)
Modified:
harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/ProcessBuilder.java
harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ProcessBuilderTest.java
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/ProcessBuilder.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/ProcessBuilder.java?view=diff&rev=478521&r1=478520&r2=478521
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/ProcessBuilder.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/lang/ProcessBuilder.java Thu Nov 23 01:30:55 2006
@@ -66,7 +66,7 @@
throw new NullPointerException();
}
this.command = command;
- this.environment = new HashMap<String, String>(System.getenv());
+ this.environment = new ProcessHashMap<String, String>(System.getenv());
}
/**
@@ -216,4 +216,28 @@
// TODO implement support for redirectErrorStream
return process;
}
+
+ private class ProcessHashMap<K, V> extends HashMap<K, V> {
+
+ private static final long serialVersionUID = 1L;
+
+ public ProcessHashMap(Map<K, V> env) {
+ super(env);
+ }
+ @Override
+ public V put(K key, V value) {
+ if(key == null || value == null){
+ throw new NullPointerException();
+ }
+ return super.put(key, value);
+ }
+ @Override
+ public V get(Object key) {
+ if(key == null){
+ throw new NullPointerException();
+ }
+ return super.get(key);
+ }
+ }
}
+
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ProcessBuilderTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ProcessBuilderTest.java?view=diff&rev=478521&r1=478520&r2=478521
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ProcessBuilderTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ProcessBuilderTest.java Thu Nov 23 01:30:55 2006
@@ -90,6 +90,24 @@
env.clear();
env = pb.environment();
assertTrue(env.isEmpty());
+ try {
+ env.put(null,"");
+ fail("should throw NPE.");
+ } catch (NullPointerException e) {
+ // expected;
+ }
+ try {
+ env.put("",null);
+ fail("should throw NPE.");
+ } catch (NullPointerException e) {
+ // expected;
+ }
+ try {
+ env.get(null);
+ fail("should throw NPE.");
+ } catch (NullPointerException e) {
+ // expected;
+ }
}
public void testRedirectErrorStream() {