Commit 3acd1146 authored by Dan Fandrich's avatar Dan Fandrich
Browse files

Use realloc when paused in Curl_client_write

parent 45d3bfff
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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;