changeset 7338:cd050a24fc72

8036571: (process) Process process arguments carefully Reviewed-by: rriggs, coffeys
author robm
date Thu, 27 Mar 2014 17:28:32 +0000
parents 2c6544759f71
children 68c6f18ee89d
files src/share/classes/java/lang/ProcessBuilder.java
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/java/lang/ProcessBuilder.java	Thu Mar 06 15:27:05 2014 +0400
+++ b/src/share/classes/java/lang/ProcessBuilder.java	Thu Mar 27 17:28:32 2014 +0000
@@ -1018,6 +1018,12 @@
 
         String dir = directory == null ? null : directory.toString();
 
+        for (int i = 1; i < cmdarray.length; i++) {
+            if (cmdarray[i].indexOf('\u0000') >= 0) {
+                throw new IOException("invalid null character in command");
+            }
+        }
+
         try {
             return ProcessImpl.start(cmdarray,
                                      environment,