iliaa Mon Oct 18 18:41:24 2004 EDT Modified files: /php-src/ext/curl interface.c Log: Fixed bug #30475 (curl_getinfo() may crash in some situations). http://cvs.php.net/diff.php/php-src/ext/curl/interface.c?r1=1.49&r2=1.50&ty=u Index: php-src/ext/curl/interface.c diff -u php-src/ext/curl/interface.c:1.49 php-src/ext/curl/interface.c:1.50 --- php-src/ext/curl/interface.c:1.49 Fri Aug 20 09:53:16 2004 +++ php-src/ext/curl/interface.c Mon Oct 18 18:41:24 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interface.c,v 1.49 2004/08/20 13:53:16 iliaa Exp $ */ +/* $Id: interface.c,v 1.50 2004/10/18 22:41:24 iliaa Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -1336,10 +1336,13 @@ switch (option) { case CURLINFO_EFFECTIVE_URL: case CURLINFO_CONTENT_TYPE: { - char *s_code; + char *s_code = NULL; - curl_easy_getinfo(ch->cp, option, &s_code); - RETURN_STRING(s_code, 1); + if (curl_easy_getinfo(ch->cp, option, &s_code) == CURLE_OK && s_code) { + RETURN_STRING(s_code, 1); + } else { + RETURN_FALSE; + } break; } case CURLINFO_HTTP_CODE: @@ -1348,10 +1351,13 @@ case CURLINFO_FILETIME: case CURLINFO_SSL_VERIFYRESULT: case CURLINFO_REDIRECT_COUNT: { - long code; + long code = 0; - curl_easy_getinfo(ch->cp, option, &code); - RETURN_LONG(code); + if (curl_easy_getinfo(ch->cp, option, &code) == CURLE_OK) { + RETURN_LONG(code); + } else { + RETURN_FALSE; + } break; } case CURLINFO_TOTAL_TIME: @@ -1366,10 +1372,13 @@ case CURLINFO_CONTENT_LENGTH_UPLOAD: case CURLINFO_STARTTRANSFER_TIME: case CURLINFO_REDIRECT_TIME: { - double code; + double code = 0.0; - curl_easy_getinfo(ch->cp, option, &code); - RETURN_DOUBLE(code); + if (curl_easy_getinfo(ch->cp, option, &code) == CURLE_OK) { + RETURN_DOUBLE(code); + } else { + RETURN_FALSE; + } break; } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php