diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/easy.c | 2 | ||||
| -rw-r--r-- | lib/url.c | 13 | ||||
| -rw-r--r-- | lib/url.h | 2 | 
3 files changed, 9 insertions, 8 deletions
diff --git a/lib/easy.c b/lib/easy.c index 72506488a..75f332b07 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -998,7 +998,7 @@ void curl_easy_reset(struct Curl_easy *data)    /* zero out UserDefined data: */    Curl_freeset(data);    memset(&data->set, 0, sizeof(struct UserDefined)); -  (void)Curl_init_userdefined(&data->set); +  (void)Curl_init_userdefined(data);    /* zero out Progress data: */    memset(&data->progress, 0, sizeof(struct Progress)); @@ -293,6 +293,8 @@ void Curl_freeset(struct Curl_easy *data)      data->change.url_alloc = FALSE;    }    data->change.url = NULL; + +  Curl_mime_cleanpart(&data->set.mimepost);  }  /* @@ -382,8 +384,6 @@ CURLcode Curl_close(struct Curl_easy *data)    Curl_http2_cleanup_dependencies(data);    Curl_convert_close(data); -  Curl_mime_cleanpart(&data->set.mimepost); -    /* No longer a dirty share, if it exists */    if(data->share) {      Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE); @@ -402,8 +402,9 @@ CURLcode Curl_close(struct Curl_easy *data)   * Initialize the UserDefined fields within a Curl_easy.   * This may be safely called on a new or existing Curl_easy.   */ -CURLcode Curl_init_userdefined(struct UserDefined *set) +CURLcode Curl_init_userdefined(struct Curl_easy *data)  { +  struct UserDefined *set = &data->set;    CURLcode result = CURLE_OK;    set->out = stdout; /* default output to stdout */ @@ -453,6 +454,8 @@ CURLcode Curl_init_userdefined(struct UserDefined *set)    /* make libcurl quiet by default: */    set->hide_progress = TRUE;  /* CURLOPT_NOPROGRESS changes these */ +  Curl_mime_initpart(&set->mimepost, data); +    /*     * libcurl 7.10 introduced SSL verification *by default*! This needs to be     * switched off unless wanted. @@ -569,15 +572,13 @@ CURLcode Curl_open(struct Curl_easy **curl)      result = CURLE_OUT_OF_MEMORY;    }    else { -    Curl_mime_initpart(&data->set.mimepost, data); -      data->state.headerbuff = malloc(HEADERSIZE);      if(!data->state.headerbuff) {        DEBUGF(fprintf(stderr, "Error: malloc of headerbuff failed\n"));        result = CURLE_OUT_OF_MEMORY;      }      else { -      result = Curl_init_userdefined(&data->set); +      result = Curl_init_userdefined(data);        data->state.headersize = HEADERSIZE;        Curl_convert_init(data); @@ -33,7 +33,7 @@  CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn);  CURLcode Curl_open(struct Curl_easy **curl); -CURLcode Curl_init_userdefined(struct UserDefined *set); +CURLcode Curl_init_userdefined(struct Curl_easy *data);  CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,                       va_list arg);  CURLcode Curl_dupset(struct Curl_easy * dst, struct Curl_easy * src);  | 
