diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libalpm/dload.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 33824be8..83060f97 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -377,8 +377,11 @@ static int curl_download_internal(struct dload_payload *payload, /* perform transfer */ payload->curlerr = curl_easy_perform(curl); - /* immediately unhook the progress callback */ + /* disconnect relationships from the curl handle for things that might go out + * of scope, but could still be touched on connection teardown. This really + * only applies to FTP transfers. See FS#26327 for an example. */ curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L); + curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, (char *)NULL); /* was it a success? */ switch(payload->curlerr) { |