iliaa Tue Feb 24 16:53:58 2004 EDT Modified files: (Branch: PHP_4_3) /php-src/ext/standard http_fopen_wrapper.c /php-src NEWS Log: MFH: Fixed bug #27383 (Potential crash inside fopen_wrapper, while parsing response code). http://cvs.php.net/diff.php/php-src/ext/standard/http_fopen_wrapper.c?r1=1.53.2.14&r2=1.53.2.15&ty=u Index: php-src/ext/standard/http_fopen_wrapper.c diff -u php-src/ext/standard/http_fopen_wrapper.c:1.53.2.14 php-src/ext/standard/http_fopen_wrapper.c:1.53.2.15 --- php-src/ext/standard/http_fopen_wrapper.c:1.53.2.14 Fri Nov 28 13:51:14 2003 +++ php-src/ext/standard/http_fopen_wrapper.c Tue Feb 24 16:53:56 2004 @@ -18,7 +18,7 @@ | Wez Furlong <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: http_fopen_wrapper.c,v 1.53.2.14 2003/11/28 18:51:14 iliaa Exp $ */ +/* $Id: http_fopen_wrapper.c,v 1.53.2.15 2004/02/24 21:53:56 iliaa Exp $ */ #include "php.h" #include "php_globals.h" @@ -339,17 +339,22 @@ } - if (!php_stream_eof(stream)) { + if (!php_stream_eof(stream)) { + size_t tmp_line_len; /* get response header */ - if (php_stream_gets(stream, tmp_line, sizeof(tmp_line)-1) != NULL) { + if (_php_stream_get_line(stream, tmp_line, sizeof(tmp_line) - 1, &tmp_line_len) != NULL) { zval *http_response; int response_code; MAKE_STD_ZVAL(http_response); ZVAL_NULL(http_response); - response_code = atoi(tmp_line + 9); + if (tmp_line_len > 9) { + response_code = atoi(tmp_line + 9); + } else { + response_code = 0; + } switch(response_code) { case 200: case 302: @@ -361,11 +366,15 @@ tmp_line, response_code); break; default: + /* safety net in the event tmp_line == NULL */ + if (!tmp_line_len) { + tmp_line[0] = '\0'; + } php_stream_notify_error(context, PHP_STREAM_NOTIFY_FAILURE, tmp_line, response_code); } - Z_STRLEN_P(http_response) = strlen(tmp_line); + Z_STRLEN_P(http_response) = tmp_line_len; Z_STRVAL_P(http_response) = estrndup(tmp_line, Z_STRLEN_P(http_response)); if (Z_STRVAL_P(http_response)[Z_STRLEN_P(http_response)-1]=='\n') { Z_STRVAL_P(http_response)[Z_STRLEN_P(http_response)-1]=0; http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1247.2.576&r2=1.1247.2.577&ty=u Index: php-src/NEWS diff -u php-src/NEWS:1.1247.2.576 php-src/NEWS:1.1247.2.577 --- php-src/NEWS:1.1247.2.576 Tue Feb 24 03:49:38 2004 +++ php-src/NEWS Tue Feb 24 16:53:57 2004 @@ -1,6 +1,8 @@ PHP 4 NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? Feb 2004, Version 4.3.5 +- Fixed bug #27383 (Potential crash inside fopen_wrapper, while parsing + response code). (Ilia) - Fixed bug #27341 (HEAD requests fail to return data). (Ilia) - Fixed bug #27337 (missing sapi_shutdown() in sapi/isapi causes memory leak). (Jani, msisolak at yahoo dot com)
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php