Package: libcurl3
Version: 7.15.2-2

Description:
The library raises an exception after uploading a file via http post,
7.15.1 worked fine

this is the code from the app i use,

                while ( (pMessage = curl_multi_info_read(m_CurlStack, (int 
*)&iQueue)) )
                {
                        if ( pMessage->msg == CURLMSG_DONE )
                        {
                                NormanContext *norm;
                                char * szUrl;

                curl_easy_getinfo(pMessage->easy_handle,
CURLINFO_PRIVATE, (char * *) &norm);
                                if ( pMessage->data.result )
                                {
                    logInfo("Upload Error %s on getting file %s \n",
curl_easy_strerror(pMessage->data.result), norm->getMD5Sum());
                                } else
                                {
                                        
curl_easy_getinfo(pMessage->easy_handle, CURLINFO_EFFECTIVE_URL, &szUrl);
                                        logInfo("Submitted file %s to sandbox 
\n",norm->getMD5Sum());
                                }
                                CURL *curl = pMessage->easy_handle;
                                curl_multi_remove_handle(m_CurlStack, 
pMessage->easy_handle);
                                delete norm;
                                curl_easy_cleanup(curl);
                                --m_Queued;
                        }
                }


here is the backtrace

*** glibc detected *** double free or corruption (!prev): 0x0809b7f8 ***

Program received signal SIGABRT, Aborted.
0xb7d05a27 in raise () from /lib/tls/libc.so.6
(gdb) bt
#0  0xb7d05a27 in raise () from /lib/tls/libc.so.6
#1  0xb7d0735b in abort () from /lib/tls/libc.so.6
#2  0xb7d3c3f5 in __fsetlocking () from /lib/tls/libc.so.6
#3  0xb7d42a97 in malloc_usable_size () from /lib/tls/libc.so.6
#4  0xb7d42f32 in free () from /lib/tls/libc.so.6
#5  0xb7f2c15d in ?? () from /usr/lib/libcurl.so.3
#6  0x0809b7f8 in ?? ()
#7  0x00000002 in ?? ()
#8  0xb7f5a998 in ?? () from /usr/lib/libcurl.so.3
#9  0x080c5558 in ?? ()
#10 0x00000000 in ?? ()

To reproduce, run nepenthes with submit-norman and trigger a file
download using x2 (i know this is not really trivial).

as mentioned before, previous versions of curl worked _fine_

Suggested patch:
debug the code instead of trying to circumvent segfaults using
optimazation levels as stated in the changelog
+++ curl-7.15.2/debian/changelog
 @@ -0,0 +1,898 @@
+curl (7.15.2-2) unstable; urgency=low
+
+  * Added missing autotools invocation. Re-added versioned symbols
+    (closes: #355241).
+  * Bumped shlibs version to 7.15.2-2.
+  * Build with -O3 to work around sospicious segfaults on tests 253
+    and 255.

this is a serious problem, i guess it will break many curl based applications.

Reply via email to