From: Yang Tse Date: Tue, 6 Sep 2011 22:30:53 +0000 (+0200) Subject: ares_init.c: fix segfault triggered in ares_init_options() upon previous X-Git-Tag: upstream/1.10.0~139 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3d84eb3bbca244da90e17750a31520a1b1b24e88;p=platform%2Fupstream%2Fc-ares.git ares_init.c: fix segfault triggered in ares_init_options() upon previous failure of init_by_defaults() and incomplete cleanup there. --- diff --git a/ares_init.c b/ares_init.c index dd59fed..0c1d545 100644 --- a/ares_init.c +++ b/ares_init.c @@ -1249,15 +1249,22 @@ static int init_by_defaults(ares_channel channel) error: if(rc) { - if(channel->servers) + if(channel->servers) { free(channel->servers); + channel->servers = NULL; + } if(channel->domains && channel->domains[0]) free(channel->domains[0]); - if(channel->domains) + if(channel->domains) { free(channel->domains); - if(channel->lookups) + channel->domains = NULL; + } + + if(channel->lookups) { free(channel->lookups); + channel->lookups = NULL; + } } if(hostname)