]> granicus.if.org Git - php/commitdiff
Close open files in case of failure (Amit)
authorDmitry Stogov <dmitry@php.net>
Tue, 9 Jan 2007 16:27:17 +0000 (16:27 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 9 Jan 2007 16:27:17 +0000 (16:27 +0000)
ext/standard/proc_open.c

index 3806efa768899fb523a61c1a8e2c953f7112c64a..73ecf1bd82e96b1fd7e82f2b0a29691e863e8e96 100644 (file)
@@ -755,6 +755,13 @@ PHP_FUNCTION(proc_open)
        }
        
        if (FALSE == newprocok) {
+               /* clean up all the descriptors */
+               for (i = 0; i < ndesc; i++) {
+                       CloseHandle(descriptors[i].childend);
+                       if (descriptors[i].parentend) {
+                               CloseHandle(descriptors[i].parentend);
+                       }
+               }
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "CreateProcess failed");
                goto exit_fail;
        }