From cfe53768dd225eb77e545f58321ca6528287c252 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 15 Dec 2003 15:22:10 +0000 Subject: [PATCH] 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). --- lib/hostip.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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; }