PHP :: Bug #62839 :: curl_copy_handle segfault with CURLOPT_FILE

Bug #62839 curl_copy_handle segfault with CURLOPT_FILE
Submitted: 2012-08-16 13:58 UTC Modified: 2012-08-16 18:53 UTC
From: martin at mixotv dot com Assigned: pierrick (profile)
Status: Closed Package: cURL related
PHP Version: 5.4.5 OS: Linux 3.4.8-1
Private report: No CVE-ID: None

 [2012-08-16 13:58 UTC] martin at mixotv dot com

Description:
------------
When using cURL with the option CURLOPT_FILE (write the result of the curl request in a file), curl_copy_handle() causes a SEGFAULT.

I use the packages from Archlinux repository (php, libcurl 7.27.0 x86_64).

I get the same results with a current ubuntu distribution.

Test script:
---------------
<?php

$curl = curl_init();

$fd = fopen('/tmp/test', 'wb');
curl_setopt($curl, CURLOPT_FILE, $fd);

$copy = curl_copy_handle($curl);

var_dump($copy);

curl_close($copy);
curl_close($curl);
fclose($fd);

Expected result:
----------------
no segfault

Actual result:
--------------
segfault:

#0  0x00007ffff5ca6f46 in ?? () from /usr/lib/php/modules/curl.so
#1  0x00007ffff5ec0f0d in xdebug_execute_internal () from /usr/lib/php/modules/xdebug.so
#2  0x00000000006dac6d in ?? ()
#3  0x00000000006946ff in execute ()
#4  0x00007ffff5ec1392 in xdebug_execute () from /usr/lib/php/modules/xdebug.so
#5  0x00000000006355d9 in zend_execute_scripts ()
#6  0x00000000005d5393 in php_execute_script ()
#7  0x00000000006dd433 in ?? ()
#8  0x000000000042601a in ?? ()
#9  0x00007ffff692d725 in __libc_start_main () from /lib/libc.so.6
#10 0x00000000004260ad in _start ()

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports

 [2012-08-16 14:17 UTC] martin at mixotv dot com

-Status: Feedback +Status: Open

 [2012-08-16 14:17 UTC] martin at mixotv dot com

Hi Felipe,

Here is the backtrace without Xdebug:

Program received signal SIGSEGV, Segmentation fault.
#0  0x00007ffff5ed9f46 in ?? () from /usr/lib/php/modules/curl.so
#1  0x00000000006dae02 in ?? ()
#2  0x00000000006946ff in execute ()
#3  0x00000000006355d9 in zend_execute_scripts ()
#4  0x00000000005d5393 in php_execute_script ()
#5  0x00000000006dd433 in ?? ()
#6  0x000000000042601a in ?? ()
#7  0x00007ffff692d725 in __libc_start_main () from /lib/libc.so.6
#8  0x00000000004260ad in _start ()

 [2013-07-18 08:41 UTC] lixiuqiu55 at outlook dot com

From the shape  it is easy to see, this war boots set the ventilation and comfort all in one,http://www.suprahommepascher.fr/nike-air-max-1-c-14.html  under more suitable for athletes on the field when relaxing. Large areas of breathable mesh material on the uppers decided those shoes on during the summer Olympics, you can make players http://www.suprahommepascher.fr/nike-air-max-90-c-27.html feel more comfortable,air max 90 femme   equipped with the Palm at the end of IP in projecting sustained shock technology can enable the wearer to relax more thoroughly. Unique breathable outsole structure, with large areas of mesh on the upper war reached a new height on the boot breathability. According to foot the side different, and unique design of the outsole structure, you also have the comfort of these shoes has doubled.