[PHP-CVS] cvs: php-src /ext/filter logical_filters.c
iliaa Sun Dec 31 22:47:27 2006 UTC Modified files: /php-src/ext/filter logical_filters.c Log: MFB: Simplify code and change strchr() to memchr() http://cvs.php.net/viewvc.cgi/php-src/ext/filter/logical_filters.c?r1=1.23&r2=1.24&diff_format=u Index: php-src/ext/filter/logical_filters.c diff -u php-src/ext/filter/logical_filters.c:1.23 php-src/ext/filter/logical_filters.c:1.24 --- php-src/ext/filter/logical_filters.c:1.23 Sat Dec 30 01:56:33 2006 +++ php-src/ext/filter/logical_filters.cSun Dec 31 22:47:27 2006 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: logical_filters.c,v 1.23 2006/12/30 01:56:33 iliaa Exp $ */ +/* $Id: logical_filters.c,v 1.24 2006/12/31 22:47:27 iliaa Exp $ */ #include "php_filter.h" #include "filter_private.h" @@ -597,15 +597,12 @@ * allow_ipv4 and allow_ipv6 flags flag are used, then the first dot or * colon determine the format */ - char *str = NULL; intip[4]; intmode; - str = Z_STRVAL_P(value); - - if (strchr(str, ':')) { + if (memchr(Z_STRVAL_P(value), ':', Z_STRLEN_P(value))) { mode = FORMAT_IPV6; - } else if (strchr(str, '.')) { + } else if (memchr(Z_STRVAL_P(value), '.', Z_STRLEN_P(value))) { mode = FORMAT_IPV4; } else { RETURN_VALIDATION_FAILED @@ -621,7 +618,7 @@ switch (mode) { case FORMAT_IPV4: - if (!_php_filter_validate_ipv4(str, Z_STRLEN_P(value), ip)) { + if (!_php_filter_validate_ipv4(Z_STRVAL_P(value), Z_STRLEN_P(value), ip)) { RETURN_VALIDATION_FAILED } @@ -651,7 +648,7 @@ case FORMAT_IPV6: { int res = 0; - res = _php_filter_validate_ipv6(str, Z_STRLEN_P(value) TSRMLS_CC); + res = _php_filter_validate_ipv6(Z_STRVAL_P(value), Z_STRLEN_P(value) TSRMLS_CC); if (res < 1) { RETURN_VALIDATION_FAILED } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/filter logical_filters.c
iliaa Sun Dec 31 22:47:13 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/filter logical_filters.c Log: Simplify code and change strchr() to memchr() http://cvs.php.net/viewvc.cgi/php-src/ext/filter/logical_filters.c?r1=1.1.2.19&r2=1.1.2.20&diff_format=u Index: php-src/ext/filter/logical_filters.c diff -u php-src/ext/filter/logical_filters.c:1.1.2.19 php-src/ext/filter/logical_filters.c:1.1.2.20 --- php-src/ext/filter/logical_filters.c:1.1.2.19 Sat Dec 30 01:56:18 2006 +++ php-src/ext/filter/logical_filters.cSun Dec 31 22:47:13 2006 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: logical_filters.c,v 1.1.2.19 2006/12/30 01:56:18 iliaa Exp $ */ +/* $Id: logical_filters.c,v 1.1.2.20 2006/12/31 22:47:13 iliaa Exp $ */ #include "php_filter.h" #include "filter_private.h" @@ -593,15 +593,12 @@ * allow_ipv4 and allow_ipv6 flags flag are used, then the first dot or * colon determine the format */ - char *str = NULL; intip[4]; intmode; - str = Z_STRVAL_P(value); - - if (strchr(str, ':')) { + if (memchr(Z_STRVAL_P(value), ':', Z_STRLEN_P(value))) { mode = FORMAT_IPV6; - } else if (strchr(str, '.')) { + } else if (memchr(Z_STRVAL_P(value), '.', Z_STRLEN_P(value))) { mode = FORMAT_IPV4; } else { RETURN_VALIDATION_FAILED @@ -617,7 +614,7 @@ switch (mode) { case FORMAT_IPV4: - if (!_php_filter_validate_ipv4(str, Z_STRLEN_P(value), ip)) { + if (!_php_filter_validate_ipv4(Z_STRVAL_P(value), Z_STRLEN_P(value), ip)) { RETURN_VALIDATION_FAILED } @@ -647,7 +644,7 @@ case FORMAT_IPV6: { int res = 0; - res = _php_filter_validate_ipv6(str, Z_STRLEN_P(value) TSRMLS_CC); + res = _php_filter_validate_ipv6(Z_STRVAL_P(value), Z_STRLEN_P(value) TSRMLS_CC); if (res < 1) { RETURN_VALIDATION_FAILED } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_4_4) /ext/session session.c
iliaa Sun Dec 31 22:26:25 2006 UTC Modified files: (Branch: PHP_4_4) /php-src/ext/sessionsession.c Log: MFH: Added boundary checks to php_binary deserializer http://cvs.php.net/viewvc.cgi/php-src/ext/session/session.c?r1=1.336.2.53.2.10&r2=1.336.2.53.2.11&diff_format=u Index: php-src/ext/session/session.c diff -u php-src/ext/session/session.c:1.336.2.53.2.10 php-src/ext/session/session.c:1.336.2.53.2.11 --- php-src/ext/session/session.c:1.336.2.53.2.10 Tue Dec 26 17:23:33 2006 +++ php-src/ext/session/session.c Sun Dec 31 22:26:25 2006 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: session.c,v 1.336.2.53.2.10 2006/12/26 17:23:33 iliaa Exp $ */ +/* $Id: session.c,v 1.336.2.53.2.11 2006/12/31 22:26:25 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -424,6 +424,11 @@ for (p = val; p < endptr; ) { zval **tmp; namelen = *p & (~PS_BIN_UNDEF); + + if (namelen > PS_BIN_MAX || (p + namelen) >= endptr) { + return FAILURE; + } + has_value = *p & PS_BIN_UNDEF ? 0 : 1; name = estrndup(p + 1, namelen); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/session session.c
iliaa Sun Dec 31 22:26:06 2006 UTC Modified files: /php-src/ext/sessionsession.c Log: MFB: Added boundary checks to php_binary deserializer http://cvs.php.net/viewvc.cgi/php-src/ext/session/session.c?r1=1.459&r2=1.460&diff_format=u Index: php-src/ext/session/session.c diff -u php-src/ext/session/session.c:1.459 php-src/ext/session/session.c:1.460 --- php-src/ext/session/session.c:1.459 Tue Dec 26 17:18:28 2006 +++ php-src/ext/session/session.c Sun Dec 31 22:26:06 2006 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: session.c,v 1.459 2006/12/26 17:18:28 iliaa Exp $ */ +/* $Id: session.c,v 1.460 2006/12/31 22:26:06 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -384,6 +384,11 @@ for (p = val; p < endptr; ) { zval **tmp; namelen = *p & (~PS_BIN_UNDEF); + + if (namelen > PS_BIN_MAX || (p + namelen) >= endptr) { + return FAILURE; + } + has_value = *p & PS_BIN_UNDEF ? 0 : 1; name = estrndup(p + 1, namelen); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/session session.c
iliaa Sun Dec 31 22:25:55 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/sessionsession.c Log: Added boundary checks to php_binary deserializer http://cvs.php.net/viewvc.cgi/php-src/ext/session/session.c?r1=1.417.2.8.2.22&r2=1.417.2.8.2.23&diff_format=u Index: php-src/ext/session/session.c diff -u php-src/ext/session/session.c:1.417.2.8.2.22 php-src/ext/session/session.c:1.417.2.8.2.23 --- php-src/ext/session/session.c:1.417.2.8.2.22Tue Dec 26 16:53:47 2006 +++ php-src/ext/session/session.c Sun Dec 31 22:25:55 2006 @@ -17,7 +17,7 @@ +--+ */ -/* $Id: session.c,v 1.417.2.8.2.22 2006/12/26 16:53:47 iliaa Exp $ */ +/* $Id: session.c,v 1.417.2.8.2.23 2006/12/31 22:25:55 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -471,6 +471,11 @@ for (p = val; p < endptr; ) { zval **tmp; namelen = *p & (~PS_BIN_UNDEF); + + if (namelen > PS_BIN_MAX || (p + namelen) >= endptr) { + return FAILURE; + } + has_value = *p & PS_BIN_UNDEF ? 0 : 1; name = estrndup(p + 1, namelen); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /main SAPI.c
iliaa Sun Dec 31 19:22:18 2006 UTC Modified files: /php-src/main SAPI.c Log: MFB: Fixed bug #39984 (redirect response code in header() could be ignored in CGI sapi). http://cvs.php.net/viewvc.cgi/php-src/main/SAPI.c?r1=1.219&r2=1.220&diff_format=u Index: php-src/main/SAPI.c diff -u php-src/main/SAPI.c:1.219 php-src/main/SAPI.c:1.220 --- php-src/main/SAPI.c:1.219 Thu Dec 21 21:49:13 2006 +++ php-src/main/SAPI.c Sun Dec 31 19:22:17 2006 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: SAPI.c,v 1.219 2006/12/21 21:49:13 tony2001 Exp $ */ +/* $Id: SAPI.c,v 1.220 2006/12/31 19:22:17 iliaa Exp $ */ #include #include @@ -657,7 +657,9 @@ SG(sapi_headers).http_response_code > 307) && SG(sapi_headers).http_response_code != 201) { /* Return a Found Redirect if one is not already specified */ - if(SG(request_info).proto_num > 1000 && + if (http_response_code) { /* user specified redirect code */ + sapi_update_response_code(http_response_code TSRMLS_CC); + } else if (SG(request_info).proto_num > 1000 && SG(request_info).request_method && strcmp(SG(request_info).request_method, "HEAD") && strcmp(SG(request_info).request_method, "GET")) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /main SAPI.c
iliaa Sun Dec 31 19:22:01 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/main SAPI.c /php-srcNEWS Log: Fixed bug #39984 (redirect response code in header() could be ignored in CGI sapi). http://cvs.php.net/viewvc.cgi/php-src/main/SAPI.c?r1=1.202.2.7.2.5&r2=1.202.2.7.2.6&diff_format=u Index: php-src/main/SAPI.c diff -u php-src/main/SAPI.c:1.202.2.7.2.5 php-src/main/SAPI.c:1.202.2.7.2.6 --- php-src/main/SAPI.c:1.202.2.7.2.5 Thu Dec 21 21:49:22 2006 +++ php-src/main/SAPI.c Sun Dec 31 19:22:01 2006 @@ -18,7 +18,7 @@ +--+ */ -/* $Id: SAPI.c,v 1.202.2.7.2.5 2006/12/21 21:49:22 tony2001 Exp $ */ +/* $Id: SAPI.c,v 1.202.2.7.2.6 2006/12/31 19:22:01 iliaa Exp $ */ #include #include @@ -631,7 +631,9 @@ SG(sapi_headers).http_response_code > 307) && SG(sapi_headers).http_response_code != 201) { /* Return a Found Redirect if one is not already specified */ - if(SG(request_info).proto_num > 1000 && + if (http_response_code) { /* user specified redirect code */ + sapi_update_response_code(http_response_code TSRMLS_CC); + } else if (SG(request_info).proto_num > 1000 && SG(request_info).request_method && strcmp(SG(request_info).request_method, "HEAD") && strcmp(SG(request_info).request_method, "GET")) { http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.467&r2=1.2027.2.547.2.468&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.467 php-src/NEWS:1.2027.2.547.2.468 --- php-src/NEWS:1.2027.2.547.2.467 Sun Dec 31 15:27:13 2006 +++ php-src/NEWSSun Dec 31 19:22:01 2006 @@ -17,6 +17,8 @@ __inet_pton() and inet_ntop() was named __inet_ntop(). (Hannes) - Fixed the validate email filter so that the letter "v" can also be used in the user part of the email address. (Derick) +- Fixed bug #39984 (redirect response code in header() could be ignored in + CGI sapi). (Ilia) - Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used for timestamp fields). (Ilia) - Fixed bug #39952 (zip ignoring --with-libdir on zlib checks) (judas dot -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) /ext/spl spl.php
helly Sun Dec 31 18:20:22 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/splspl.php Log: - MFH Bugfix: #39996 Wrong PHPDoc comment for SplFileInfo::getType() http://cvs.php.net/viewvc.cgi/php-src/ext/spl/spl.php?r1=1.49.2.11.2.4&r2=1.49.2.11.2.5&diff_format=u Index: php-src/ext/spl/spl.php diff -u php-src/ext/spl/spl.php:1.49.2.11.2.4 php-src/ext/spl/spl.php:1.49.2.11.2.5 --- php-src/ext/spl/spl.php:1.49.2.11.2.4 Mon Nov 20 19:58:01 2006 +++ php-src/ext/spl/spl.php Sun Dec 31 18:20:22 2006 @@ -900,7 +900,7 @@ */ function getCTime() {/**/} - /** @return The current entry's size in bytes . + /** @return The current entry's file type. */ function getType() {/**/} -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/spl spl.php
helly Sun Dec 31 18:20:03 2006 UTC Modified files: /php-src/ext/splspl.php Log: - Bugfix: #39996 Wrong PHPDoc comment for SplFileInfo::getType() http://cvs.php.net/viewvc.cgi/php-src/ext/spl/spl.php?r1=1.76&r2=1.77&diff_format=u Index: php-src/ext/spl/spl.php diff -u php-src/ext/spl/spl.php:1.76 php-src/ext/spl/spl.php:1.77 --- php-src/ext/spl/spl.php:1.76Mon Nov 20 19:50:19 2006 +++ php-src/ext/spl/spl.php Sun Dec 31 18:20:03 2006 @@ -900,7 +900,7 @@ */ function getCTime() {/**/} - /** @return The current entry's size in bytes . + /** @return The current entry's file type. */ function getType() {/**/} -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/standard proc_open.c
nlopess Sun Dec 31 15:28:56 2006 UTC Modified files: /php-src/ext/standard proc_open.c Log: MFB: fix #36427. patch by jdolecek at NetBSD dot org http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.c?r1=1.46&r2=1.47&diff_format=u Index: php-src/ext/standard/proc_open.c diff -u php-src/ext/standard/proc_open.c:1.46 php-src/ext/standard/proc_open.c:1.47 --- php-src/ext/standard/proc_open.c:1.46 Sun Dec 31 14:49:06 2006 +++ php-src/ext/standard/proc_open.cSun Dec 31 15:28:56 2006 @@ -15,7 +15,7 @@ | Author: Wez Furlong <[EMAIL PROTECTED]> | +--+ */ -/* $Id: proc_open.c,v 1.46 2006/12/31 14:49:06 nlopess Exp $ */ +/* $Id: proc_open.c,v 1.47 2006/12/31 15:28:56 nlopess Exp $ */ #if 0 && (defined(__linux__) || defined(sun) || defined(__IRIX__)) # define _BSD_SOURCE /* linux wants this when XOPEN mode is on */ @@ -652,7 +652,8 @@ } #ifdef PHP_WIN32 - descriptors[ndesc].childend = (HANDLE)_get_osfhandle(fd); + descriptors[ndesc].childend = dup_fd_as_handle(fd); + _close(fd); #else descriptors[ndesc].childend = fd; #endif -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /ext/standard proc_open.c
nlopess Sun Dec 31 15:27:13 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/standard proc_open.c /php-srcNEWS Log: - Fixed bug #36427 (proc_open() / proc_close() leak handles on windows). http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.c?r1=1.36.2.1.2.3&r2=1.36.2.1.2.4&diff_format=u Index: php-src/ext/standard/proc_open.c diff -u php-src/ext/standard/proc_open.c:1.36.2.1.2.3 php-src/ext/standard/proc_open.c:1.36.2.1.2.4 --- php-src/ext/standard/proc_open.c:1.36.2.1.2.3 Sun Dec 31 14:47:17 2006 +++ php-src/ext/standard/proc_open.cSun Dec 31 15:27:13 2006 @@ -15,7 +15,7 @@ | Author: Wez Furlong <[EMAIL PROTECTED]> | +--+ */ -/* $Id: proc_open.c,v 1.36.2.1.2.3 2006/12/31 14:47:17 nlopess Exp $ */ +/* $Id: proc_open.c,v 1.36.2.1.2.4 2006/12/31 15:27:13 nlopess Exp $ */ #if 0 && (defined(__linux__) || defined(sun) || defined(__IRIX__)) # define _BSD_SOURCE /* linux wants this when XOPEN mode is on */ @@ -660,7 +660,8 @@ } #ifdef PHP_WIN32 - descriptors[ndesc].childend = (HANDLE)_get_osfhandle(fd); + descriptors[ndesc].childend = dup_fd_as_handle(fd); + _close(fd); #else descriptors[ndesc].childend = fd; #endif http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.466&r2=1.2027.2.547.2.467&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.466 php-src/NEWS:1.2027.2.547.2.467 --- php-src/NEWS:1.2027.2.547.2.466 Sun Dec 31 14:47:17 2006 +++ php-src/NEWSSun Dec 31 15:27:13 2006 @@ -51,6 +51,8 @@ - Fixed bug #38542 (proc_get_status() returns wrong PID on windows). (Nuno) - Fixed bug #37588 (COM Property propputref converts to PHP function and can't be accesed). (Rob) +- Fixed bug #36427 (proc_open() / proc_close() leak handles on windows). + (jdolecek at NetBSD dot org, Nuno) - Fixed bug #36392 (wrong number of decimal digits with %e specifier in sprintf). (Matt,Ilia) - Fixed bug #33734 (Something strange with COM Object). (Rob) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/standard proc_open.c proc_open.h
nlopess Sun Dec 31 14:49:06 2006 UTC Modified files: /php-src/ext/standard proc_open.c proc_open.h Log: MFB: fix PID info on windows http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.c?r1=1.45&r2=1.46&diff_format=u Index: php-src/ext/standard/proc_open.c diff -u php-src/ext/standard/proc_open.c:1.45 php-src/ext/standard/proc_open.c:1.46 --- php-src/ext/standard/proc_open.c:1.45 Tue Oct 3 19:37:01 2006 +++ php-src/ext/standard/proc_open.cSun Dec 31 14:49:06 2006 @@ -15,7 +15,7 @@ | Author: Wez Furlong <[EMAIL PROTECTED]> | +--+ */ -/* $Id: proc_open.c,v 1.45 2006/10/03 19:37:01 pollita Exp $ */ +/* $Id: proc_open.c,v 1.46 2006/12/31 14:49:06 nlopess Exp $ */ #if 0 && (defined(__linux__) || defined(sun) || defined(__IRIX__)) # define _BSD_SOURCE /* linux wants this when XOPEN mode is on */ @@ -216,10 +216,10 @@ #ifdef PHP_WIN32 - WaitForSingleObject(proc->child, INFINITE); - GetExitCodeProcess(proc->child, &wstatus); + WaitForSingleObject(proc->childHandle, INFINITE); + GetExitCodeProcess(proc->childHandle, &wstatus); FG(pclose_ret) = wstatus; - CloseHandle(proc->child); + CloseHandle(proc->childHandle); #elif HAVE_SYS_WAIT_H @@ -268,7 +268,7 @@ ZEND_FETCH_RESOURCE(proc, struct php_process_handle *, &zproc, -1, "process", le_proc_open); #ifdef PHP_WIN32 - TerminateProcess(proc->child, 255); + TerminateProcess(proc->childHandle, 255); #else kill(proc->child, sig_no); #endif @@ -336,7 +336,7 @@ #ifdef PHP_WIN32 - GetExitCodeProcess(proc->child, &wstatus); + GetExitCodeProcess(proc->childHandle, &wstatus); running = wstatus == STILL_ACTIVE; exitcode == STILL_ACTIVE ? -1 : wstatus; @@ -436,6 +436,7 @@ struct php_proc_open_descriptor_item descriptors[PHP_PROC_OPEN_MAX_DESCRIPTORS]; #ifdef PHP_WIN32 PROCESS_INFORMATION pi; + HANDLE childHandle; STARTUPINFO si; BOOL newprocok; SECURITY_ATTRIBUTES security; @@ -740,7 +741,8 @@ goto exit_fail; } - child = pi.hProcess; + childHandle = pi.hProcess; + child = pi.dwProcessId; CloseHandle(pi.hThread); #elif defined(NETWARE) @@ -865,6 +867,9 @@ proc->command = pestrdup(command, is_persistent); proc->npipes = ndesc; proc->child = child; +#ifdef PHP_WIN32 + proc->childHandle = childHandle; +#endif proc->env = env; if (pipes != NULL) { http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.h?r1=1.6&r2=1.7&diff_format=u Index: php-src/ext/standard/proc_open.h diff -u php-src/ext/standard/proc_open.h:1.6 php-src/ext/standard/proc_open.h:1.7 --- php-src/ext/standard/proc_open.h:1.6Sun Jan 1 13:09:55 2006 +++ php-src/ext/standard/proc_open.hSun Dec 31 14:49:06 2006 @@ -15,11 +15,11 @@ | Author: Wez Furlong <[EMAIL PROTECTED]> | +--+ */ -/* $Id: proc_open.h,v 1.6 2006/01/01 13:09:55 sniper Exp $ */ +/* $Id: proc_open.h,v 1.7 2006/12/31 14:49:06 nlopess Exp $ */ #ifdef PHP_WIN32 typedef HANDLE php_file_descriptor_t; -typedef HANDLE php_process_id_t; +typedef DWORD php_process_id_t; #else typedef int php_file_descriptor_t; typedef pid_t php_process_id_t; @@ -40,6 +40,9 @@ struct php_process_handle { php_process_id_tchild; +#ifdef PHP_WIN32 + HANDLE childHandle; +#endif int npipes; long pipes[PHP_PROC_OPEN_MAX_DESCRIPTORS]; char *command; -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_2) / NEWS /ext/standard proc_open.c proc_open.h
nlopess Sun Dec 31 14:47:18 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/standard proc_open.c proc_open.h /php-srcNEWS Log: Fixed bug #38542 (proc_get_status() returns wrong PID on windows) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.c?r1=1.36.2.1.2.2&r2=1.36.2.1.2.3&diff_format=u Index: php-src/ext/standard/proc_open.c diff -u php-src/ext/standard/proc_open.c:1.36.2.1.2.2 php-src/ext/standard/proc_open.c:1.36.2.1.2.3 --- php-src/ext/standard/proc_open.c:1.36.2.1.2.2 Thu Dec 28 15:09:29 2006 +++ php-src/ext/standard/proc_open.cSun Dec 31 14:47:17 2006 @@ -15,7 +15,7 @@ | Author: Wez Furlong <[EMAIL PROTECTED]> | +--+ */ -/* $Id: proc_open.c,v 1.36.2.1.2.2 2006/12/28 15:09:29 iliaa Exp $ */ +/* $Id: proc_open.c,v 1.36.2.1.2.3 2006/12/31 14:47:17 nlopess Exp $ */ #if 0 && (defined(__linux__) || defined(sun) || defined(__IRIX__)) # define _BSD_SOURCE /* linux wants this when XOPEN mode is on */ @@ -216,10 +216,10 @@ #ifdef PHP_WIN32 - WaitForSingleObject(proc->child, INFINITE); - GetExitCodeProcess(proc->child, &wstatus); + WaitForSingleObject(proc->childHandle, INFINITE); + GetExitCodeProcess(proc->childHandle, &wstatus); FG(pclose_ret) = wstatus; - CloseHandle(proc->child); + CloseHandle(proc->childHandle); #elif HAVE_SYS_WAIT_H @@ -315,7 +315,7 @@ ZEND_FETCH_RESOURCE(proc, struct php_process_handle *, &zproc, -1, "process", le_proc_open); #ifdef PHP_WIN32 - TerminateProcess(proc->child, 255); + TerminateProcess(proc->childHandle, 255); #else kill(proc->child, sig_no); #endif @@ -371,7 +371,7 @@ #ifdef PHP_WIN32 - GetExitCodeProcess(proc->child, &wstatus); + GetExitCodeProcess(proc->childHandle, &wstatus); running = wstatus == STILL_ACTIVE; exitcode == STILL_ACTIVE ? -1 : wstatus; @@ -470,6 +470,7 @@ struct php_proc_open_descriptor_item descriptors[PHP_PROC_OPEN_MAX_DESCRIPTORS]; #ifdef PHP_WIN32 PROCESS_INFORMATION pi; + HANDLE childHandle; STARTUPINFO si; BOOL newprocok; SECURITY_ATTRIBUTES security; @@ -747,7 +748,8 @@ goto exit_fail; } - child = pi.hProcess; + childHandle = pi.hProcess; + child = pi.dwProcessId; CloseHandle(pi.hThread); #elif defined(NETWARE) @@ -870,6 +872,9 @@ proc->command = command; proc->npipes = ndesc; proc->child = child; +#ifdef PHP_WIN32 + proc->childHandle = childHandle; +#endif proc->env = env; if (pipes != NULL) { http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.h?r1=1.5.2.1&r2=1.5.2.1.2.1&diff_format=u Index: php-src/ext/standard/proc_open.h diff -u php-src/ext/standard/proc_open.h:1.5.2.1 php-src/ext/standard/proc_open.h:1.5.2.1.2.1 --- php-src/ext/standard/proc_open.h:1.5.2.1Sun Jan 1 12:50:15 2006 +++ php-src/ext/standard/proc_open.hSun Dec 31 14:47:17 2006 @@ -15,11 +15,11 @@ | Author: Wez Furlong <[EMAIL PROTECTED]> | +--+ */ -/* $Id: proc_open.h,v 1.5.2.1 2006/01/01 12:50:15 sniper Exp $ */ +/* $Id: proc_open.h,v 1.5.2.1.2.1 2006/12/31 14:47:17 nlopess Exp $ */ #ifdef PHP_WIN32 typedef HANDLE php_file_descriptor_t; -typedef HANDLE php_process_id_t; +typedef DWORD php_process_id_t; #else typedef int php_file_descriptor_t; typedef pid_t php_process_id_t; @@ -40,6 +40,9 @@ struct php_process_handle { php_process_id_tchild; +#ifdef PHP_WIN32 + HANDLE childHandle; +#endif int npipes; long pipes[PHP_PROC_OPEN_MAX_DESCRIPTORS]; char *command; http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.465&r2=1.2027.2.547.2.466&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.465 php-src/NEWS:1.2027.2.547.2.466 --- php-src/NEWS:1.2027.2.547.2.465 Sat Dec 30 15:43:10 2006 +++ php-src/NEWSSun Dec 31 14:47:17 2006 @@ -48,6 +48,7 @@ - Fixed bug #39435 ('foo' instanceof bar gives invalid opcode error). (Sara) - Fixed bugs #39361 & #39400 (mbstring function overloading problem). (Seiji) - Fixed bug #38852 (XML-RPC Breaks iconv). (Hannes) +- Fixed bug #38542 (proc_get_status() returns wrong PID on windows). (Nuno) - Fixed bug #37588 (COM Property propputref converts to PHP function and can't be accesed). (Rob) - Fixed bug #36392 (wrong number of decimal digits with %e specifier in -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php