From: Dan Fandrich Date: Fri, 5 Sep 2008 17:21:54 +0000 (+0000) Subject: Use realloc when paused in Curl_client_write X-Git-Tag: curl-7_19_1~408 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3acd1146f992a2b8c5da22a425c1380673c5bdef;p=curl Use realloc when paused in Curl_client_write --- diff --git a/lib/sendf.c b/lib/sendf.c index 9a1c157c0..cdab3abdd 100644 --- a/lib/sendf.c +++ b/lib/sendf.c @@ -452,18 +452,16 @@ CURLcode Curl_client_write(struct connectdata *conn, /* major internal confusion */ return CURLE_RECV_ERROR; + DEBUGASSERT(data->state.tempwrite); + /* figure out the new size of the data to save */ newlen = len + data->state.tempwritesize; /* allocate the new memory area */ - newptr = malloc(newlen); + newptr = realloc(data->state.tempwrite, newlen); if(!newptr) return CURLE_OUT_OF_MEMORY; - /* copy the previously held data to the new area */ - memcpy(newptr, data->state.tempwrite, data->state.tempwritesize); /* copy the new data to the end of the new area */ memcpy(newptr + data->state.tempwritesize, ptr, len); - /* free the old data */ - free(data->state.tempwrite); /* update the pointer and the size */ data->state.tempwrite = newptr; data->state.tempwritesize = newlen;