diff -Naur kaffe-1.0.7/libraries/clib/native/UNIXProcess.c kaffe-1.0.7.modified/libraries/clib/native/UNIXProcess.c --- kaffe-1.0.7/libraries/clib/native/UNIXProcess.c Tue Feb 29 05:31:27 2000 +++ kaffe-1.0.7.modified/libraries/clib/native/UNIXProcess.c Thu Oct 3 04:41:23 2002 @@ -131,7 +131,7 @@ /* Search PATH variable */ ptr = NULL; - for (var = arge; var != NULL; var++) { + for (var = arge; var != NULL && *var != NULL; var++) { if (strncmp (*var, "PATH=", 5) == 0) { ptr = *var + 5; break; diff -Naur kaffe-1.0.7/test/regression/ExecTest.java kaffe-1.0.7.modified/test/regression/ExecTest.java --- kaffe-1.0.7/test/regression/ExecTest.java Fri Feb 12 13:51:08 1999 +++ kaffe-1.0.7.modified/test/regression/ExecTest.java Thu Oct 3 12:14:23 2002 @@ -2,13 +2,16 @@ { public static void main ( String[] argv ) { + String[] args = { "/bin/echo", "Hello World" }; + String[] env = { "A=B", "Hello=World" }; + Runtime myRuntime = Runtime.getRuntime (); + Process myProcess = null; + for ( int i = 0; i < 2; i++ ) { try { - String[] args = { "/bin/echo", "Hello World" }; - Runtime myRuntime = Runtime.getRuntime (); - Process myProcess = myRuntime.exec ( args ); + myProcess = myRuntime.exec ( args ); try { myProcess.waitFor (); } catch ( InterruptedException e ) {} System.out.println("Okay"); @@ -18,10 +21,22 @@ System.out.println ( e ); } } + try + { + myProcess = myRuntime.exec ( args, env ); + try { myProcess.waitFor (); } + catch ( InterruptedException e ) {} + System.out.println("Okay"); + } + catch ( java.lang.Exception e ) + { + System.out.println ( e ); + } } } /* Expected Output: Okay Okay +Okay */