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