summaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2012-06-10 23:39:04 +0200
committerDaniel Stenberg <daniel@haxx.se>2012-06-10 23:40:35 +0200
commit6cd084a3b5129d9ab8db3e5bc0f094943d7eef89 (patch)
tree26d32ff78ce1a9897cee17b50196e7c401959be7 /lib/url.c
parent72c7c1d64e101675520387c0d758b63f71d4c48a (diff)
downloadcurl-6cd084a3b5129d9ab8db3e5bc0f094943d7eef89.tar.gz
Curl_pgrsDone: return int and acknowledge return code
Since Curl_pgrsDone() itself calls Curl_pgrsUpdate() which may return an abort instruction or similar we need to return that info back and subsequently properly handle return codes from Curl_pgrsDone() where used. (Spotted by a Coverity scan)
Diffstat (limited to 'lib/url.c')
-rw-r--r--lib/url.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/url.c b/lib/url.c
index b78c200fa..88e169c98 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -5379,7 +5379,8 @@ CURLcode Curl_done(struct connectdata **connp,
else
result = CURLE_OK;
- Curl_pgrsDone(conn); /* done with the operation */
+ if(Curl_pgrsDone(conn) && !result)
+ result = CURLE_ABORTED_BY_CALLBACK;
/* if the transfer was completed in a paused state there can be buffered
data left to write and then kill */