changeset 9944:5eff6b106075 jdk8u11-b01

8036571: (process) Process process arguments carefully Reviewed-by: alanb, ahgross, jeff, robm
author rriggs
date Sat, 22 Mar 2014 13:25:51 -0400
parents d8a6bfd3b5c9
children 3f2487ebf4ba b968ca3d3020
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 20 10:07:26 2014 -0700
+++ b/src/share/classes/java/lang/ProcessBuilder.java	Sat Mar 22 13:25:51 2014 -0400
@@ -1019,6 +1019,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,