From: Daniel Stenberg Date: Mon, 15 Dec 2003 15:22:10 +0000 (+0000) Subject: if Curl_hash_add() returns NULL, we shall not free the addrinfo field as that X-Git-Tag: curl-7_11_0~131 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cfe53768dd225eb77e545f58321ca6528287c252;p=curl if Curl_hash_add() returns NULL, we shall not free the addrinfo field as that is made in the hash function in the case of failure (using the already setup 'dtor' function). --- diff --git a/lib/hostip.c b/lib/hostip.c index 114525c3d..f2fa350d0 100644 --- a/lib/hostip.c +++ b/lib/hostip.c @@ -237,10 +237,10 @@ cache_resolv_response(struct SessionHandle *data, /* Store the resolved data in our DNS cache. This function may return a pointer to an existing struct already present in the hash, and it may return the same argument we pass in. Make no assumptions. */ - dns = Curl_hash_add(data->hostcache, entry_id, entry_len+1, (void *) dns); + dns = Curl_hash_add(data->hostcache, entry_id, entry_len+1, (void *)dns); if(!dns) { - /* major badness, run away! */ - Curl_freeaddrinfo(addr); + /* Major badness, run away. When this happens, the 'dns' data has + already been cleared up by Curl_hash_add(). */ free(entry_id); return NULL; }