Free the curl string lists after running http_cleanup to avoid an occasional segfault in the curl library. Seems to only occur if the website returns a 405 error. Signed-off-by: Sean Estabrooks <seanlkml@xxxxxxxxxxxx> --- On Sat, 20 May 2006 20:47:54 +0200 Florian Weimer <fw@xxxxxxxxxxxxx> wrote: > Is anybody else seeing segfaults on dumb HTTP pull with > USE_CURL_MULTI? For example, this crashes for me: > > $ git clone http://git.enyo.de/fw/debian/debfoster.git upstream > > GDB shows that this happens inside the call to curl_multi_perform. > Florian, could you please test this patch. It comes with a big disclaimer because I don't really know the code in here all that well. However gdb reports the segfault happens in a strncasecmp call, and seeing as we've released a bunch of strings prior to the call.... Testing seems to confirm that the segfault is removed by this patch. As to why the website returns a 405 error in the first place is still a mystery to me. Sean http-fetch.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/http-fetch.c b/http-fetch.c index 861644b..178f1ee 100644 --- a/http-fetch.c +++ b/http-fetch.c @@ -1269,10 +1269,10 @@ int main(int argc, char **argv) if (pull(commit_id)) rc = 1; - curl_slist_free_all(no_pragma_header); - http_cleanup(); + curl_slist_free_all(no_pragma_header); + if (corrupt_object_found) { fprintf(stderr, "Some loose object were found to be corrupt, but they might be just\n" -- 1.3.GIT - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html