cURL / Mailing Lists / curl-users / Single Mail

curl-users

Re: curl_slist_append segfault

From: Tim Johnson <tbj002_at_gmail.com>
Date: Tue, 30 Aug 2011 06:07:48 -0500

>
> 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

-------------------------------------------------------------------
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
Received on 2011-08-30