Loading lib/easy.c +79 −85 Original line number Diff line number Diff line Loading @@ -626,15 +626,11 @@ CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...) */ CURL *curl_easy_duphandle(CURL *incurl) { bool fail = TRUE; struct SessionHandle *data=(struct SessionHandle *)incurl; struct SessionHandle *outcurl = calloc(1, sizeof(struct SessionHandle)); if(NULL == outcurl) return NULL; /* failure */ for(;;) { goto fail; /* * We setup a few buffers we need. We should probably make them Loading @@ -643,12 +639,12 @@ CURL *curl_easy_duphandle(CURL *incurl) */ outcurl->state.headerbuff = malloc(HEADERSIZE); if(!outcurl->state.headerbuff) break; goto fail; outcurl->state.headersize = HEADERSIZE; /* copy all userdefined values */ if(Curl_dupset(outcurl, data) != CURLE_OK) break; goto fail; /* the connection cache is setup on demand */ outcurl->state.connc = NULL; Loading @@ -667,7 +663,7 @@ CURL *curl_easy_duphandle(CURL *incurl) outcurl->cookies, data->set.cookiesession); if(!outcurl->cookies) break; goto fail; } #endif /* CURL_DISABLE_HTTP */ Loading @@ -677,23 +673,22 @@ CURL *curl_easy_duphandle(CURL *incurl) if(data->change.cookielist) { outcurl->change.cookielist = Curl_slist_duplicate(data->change.cookielist); if(!outcurl->change.cookielist) break; goto fail; } #endif /* CURL_DISABLE_HTTP */ if(data->change.url) { outcurl->change.url = strdup(data->change.url); if(!outcurl->change.url) break; goto fail; outcurl->change.url_alloc = TRUE; } if(data->change.referer) { outcurl->change.referer = strdup(data->change.referer); if(!outcurl->change.referer) break; goto fail; outcurl->change.referer_alloc = TRUE; } Loading @@ -701,7 +696,7 @@ CURL *curl_easy_duphandle(CURL *incurl) /* If we use ares, we clone the ares channel for the new handle */ if(ARES_SUCCESS != ares_dup(&outcurl->state.areschannel, data->state.areschannel)) break; goto fail; #endif #if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV) Loading @@ -717,11 +712,12 @@ CURL *curl_easy_duphandle(CURL *incurl) outcurl->magic = CURLEASY_MAGIC_NUMBER; fail = FALSE; /* we reach this point and thus we are OK */ break; } /* we reach this point and thus we are OK */ return outcurl; fail: if(fail) { if(outcurl) { if(outcurl->state.connc && (outcurl->state.connc->type == CONNCACHE_PRIVATE)) Loading @@ -737,12 +733,10 @@ CURL *curl_easy_duphandle(CURL *incurl) if(outcurl->change.referer) free(outcurl->change.referer); Curl_freeset(outcurl); free(outcurl); /* free the memory again */ outcurl = NULL; } free(outcurl); } return outcurl; return NULL; } /* Loading Loading
lib/easy.c +79 −85 Original line number Diff line number Diff line Loading @@ -626,15 +626,11 @@ CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...) */ CURL *curl_easy_duphandle(CURL *incurl) { bool fail = TRUE; struct SessionHandle *data=(struct SessionHandle *)incurl; struct SessionHandle *outcurl = calloc(1, sizeof(struct SessionHandle)); if(NULL == outcurl) return NULL; /* failure */ for(;;) { goto fail; /* * We setup a few buffers we need. We should probably make them Loading @@ -643,12 +639,12 @@ CURL *curl_easy_duphandle(CURL *incurl) */ outcurl->state.headerbuff = malloc(HEADERSIZE); if(!outcurl->state.headerbuff) break; goto fail; outcurl->state.headersize = HEADERSIZE; /* copy all userdefined values */ if(Curl_dupset(outcurl, data) != CURLE_OK) break; goto fail; /* the connection cache is setup on demand */ outcurl->state.connc = NULL; Loading @@ -667,7 +663,7 @@ CURL *curl_easy_duphandle(CURL *incurl) outcurl->cookies, data->set.cookiesession); if(!outcurl->cookies) break; goto fail; } #endif /* CURL_DISABLE_HTTP */ Loading @@ -677,23 +673,22 @@ CURL *curl_easy_duphandle(CURL *incurl) if(data->change.cookielist) { outcurl->change.cookielist = Curl_slist_duplicate(data->change.cookielist); if(!outcurl->change.cookielist) break; goto fail; } #endif /* CURL_DISABLE_HTTP */ if(data->change.url) { outcurl->change.url = strdup(data->change.url); if(!outcurl->change.url) break; goto fail; outcurl->change.url_alloc = TRUE; } if(data->change.referer) { outcurl->change.referer = strdup(data->change.referer); if(!outcurl->change.referer) break; goto fail; outcurl->change.referer_alloc = TRUE; } Loading @@ -701,7 +696,7 @@ CURL *curl_easy_duphandle(CURL *incurl) /* If we use ares, we clone the ares channel for the new handle */ if(ARES_SUCCESS != ares_dup(&outcurl->state.areschannel, data->state.areschannel)) break; goto fail; #endif #if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV) Loading @@ -717,11 +712,12 @@ CURL *curl_easy_duphandle(CURL *incurl) outcurl->magic = CURLEASY_MAGIC_NUMBER; fail = FALSE; /* we reach this point and thus we are OK */ break; } /* we reach this point and thus we are OK */ return outcurl; fail: if(fail) { if(outcurl) { if(outcurl->state.connc && (outcurl->state.connc->type == CONNCACHE_PRIVATE)) Loading @@ -737,12 +733,10 @@ CURL *curl_easy_duphandle(CURL *incurl) if(outcurl->change.referer) free(outcurl->change.referer); Curl_freeset(outcurl); free(outcurl); /* free the memory again */ outcurl = NULL; } free(outcurl); } return outcurl; return NULL; } /* Loading