ID:               49372
 Updated by:       [email protected]
 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] [email protected]

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] [email protected]

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] [email protected]

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

Reply via email to