#49372 [Asn]: Segfault in function php_curl_option_url
ID: 49372
Updated by: pajoye@php.net
Reported By: sergk at sergk dot org dot ua
Status: Assigned
Bug Type: cURL related
Operating System: Debian GNU/Linux, kernel 2.6.30
PHP Version: 5.2.10
Assigned To: pajoye
New Comment:
I said the fix, not the patch :)
Previous Comments:
------------------------------------------------------------------------
[2009-08-26 20:21:15] jani@php.net
Please don't apply that patch, you can do it with single line change
too.. if (uri->scheme && !strncasecmp("file", uri->scheme,
sizeof("file"))) rather than having several lines changed for nothing.
------------------------------------------------------------------------
[2009-08-26 18:18:16] pajoye@php.net
Thanks for the script.
An easy fix would be to update the Curl library to a more recent
version (recommended).
I will apply the fix shortly (need to fetch an old curl first).
------------------------------------------------------------------------
[2009-08-26 17:13:42] sergk at sergk dot org dot ua
Yes, this one trigger segfault, but only in mod_php mode:
<?PHP
$curl = curl_init("www.php.net/manual/en/function.curl-init.php");
curl_exec($curl);
curl_close($curl);
?>
------------------------------------------------------------------------
[2009-08-26 14:11:57] pajoye@php.net
Thanks for the patch.
Do you have a small code to test it? I could quickly use it as phpt.
------------------------------------------------------------------------
[2009-08-26 13:35:57] sergk at sergk dot org dot ua
this patch will fix bug:
--- php-5.2.10.orig/ext/curl/interface.c 2009-06-15
12:38:11.000000000 +0000
+++ php-5.2.10/ext/curl/interface.c 2009-08-26 11:22:15.000000000
+0000
@@ -183,10 +183,12 @@
return 0;
}
- if (!strncasecmp("file", uri->scheme, sizeof("file")))
{
- php_error_docref(NULL TSRMLS_CC, E_WARNING,
"Protocol 'file' disabled in cURL");
- php_url_free(uri);
- return 0;
+ if (uri->scheme != NULL) {
+ if (!strncasecmp("file", uri->scheme,
sizeof("file")-1)) {
+ php_error_docref(NULL TSRMLS_CC,
E_WARNING, "Protocol 'file' disabled in cURL");
+ php_url_free(uri);
+ return 0;
+ }
}
php_url_free(uri);
#endif
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/49372
--
Edit this bug report at http://bugs.php.net/?id=49372&edit=1
Thread (8 messages)