Re: curl_slist_append segfault
2011-09-01 01:26:02 GMT
>
> I've got an application where I'm using cURL in a C program. The general
> flow is going about like this:
>
> -----------------------------------------------------
> struct curl_httppost *formpost=NULL;
> struct curl_httppost *lastptr=NULL;
> struct curl_slist *headerlist=NULL;
> static const char buf[] = "Expect:";
>
> curl_global_init(CURL_GLOBAL_ALL);
>
> while (1)
> {
> ......
> curl_formadd(.......);
> ........
> curl = curl_easy_init();
> headerlist = curl_slist_append(headerlist, buf);
> ........
> curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
> res = curl_easy_perform(curl);
> curl_easy_cleanup(curl);
> curl_formfree(formpost);
> curl_slist_free_all (headerlist);
> }
> -----------------------------------------------------------
>
> I've explicitly listed all functions that should be using headerlist.
>
> On the second iteration through the loop, I get a segfault at the
> curl_slist_append call. I'm hoping it's just something simple I'm doing.
> I
> searched around, the only thing I saw that looked like this was an issue
> that appeared to be fixed by a patch back in 2003. I'm linking against
> libcurl.so.4, which is a symlink to libcurl.so.4.2.0.
>
> Thanks for any help.
>
> -Tim
> -------------- next part --------------
>
> On Mon, Aug 29, 2011 at 10:48 PM, Tim Johnson <tbj002 <at> gmail.com> wrote:
> [snip]
> > ? ? curl_slist_free_all (headerlist);
> [snip]
> > I've?explicitly?listed all functions that should be using headerlist.
> > On the second iteration through the loop, I get a segfault ?at the
> > curl_slist_append call. ?I'm hoping it's just something simple I'm doing.
> ?I
> > searched around, the only thing I saw that looked like this was an issue
> > that appeared to be fixed by a patch back in 2003. ? I'm linking against
> > libcurl.so.4, which is a symlink to libcurl.so.4.2.0.
> > Thanks for any help.
> > -Tim
>
> Maybe add
>
> headerlist = NULL;
>
> after the above line to make curl_slist_append() start fresh in the
> loop on each iteration?
>
> Lars Nilsson
>
>
>
> ------------------------------
>
>
Thanks Lars, I just gave that a try. Still no luck.
Any other ideas out there? Maybe try another version of libcurl? Or is
there a way to extract out some information about the curl_slist to try and
detect what is going wrong?
Thanks
-Tim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cool.haxx.se/pipermail/curl-users/attachments/20110830/54665f48/attachment-0001.html>
------------------------------
Message: 2
Date: Tue, 30 Aug 2011 13:36:39 +0200 (CEST)
From: Daniel Stenberg <daniel <at> haxx.se>
To: the curl tool <curl-users <at> cool.haxx.se>
Subject: Re: curl_slist_append segfault
Message-ID: <alpine.DEB.2.00.1108301333160.11462 <at> tvnag.unkk.fr>
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
On Tue, 30 Aug 2011, Tim Johnson wrote:
Please be aware that you would reach the bunch of libcurl hackers properly on
the curl-library list. This list is for users of the curl command line tool.
I strongly suggest that you take follow-ups on this issue to that list
instead.
>> Maybe add
>>
>> headerlist = NULL;
>>
>> after the above line to make curl_slist_append() start fresh in the
>> loop on each iteration?
>
> Thanks Lars, I just gave that a try. Still no luck.
>
> Any other ideas out there?
You need to show us more exact details for us to tell. Like a complete program
that repeats the problem
> Maybe try another version of libcurl?
I don't think so. I'm convinced the problem you're having is due to a mistake
in your code and not in libcurl...
> Or is there a way to extract out some information about the curl_slist to
> try and detect what is going wrong?
The curl_slist is just a linked list. You can easily browser and traverse that
yourself using your code or a debugger etc.
------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-users FAQ: http://curl.haxx.se/docs/faq.html Etiquette: http://curl.haxx.se/mail/etiquette.html
RSS Feed