From: Jukka Rissanen Date: Thu, 18 Oct 2012 11:35:17 +0000 (+0300) Subject: gresolv: Make sure we will not receive DNS data after closing X-Git-Tag: 1.9~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d620dbb4e5e30c86fc1f62c029dfe4b3d9e02bdf;p=platform%2Fupstream%2Fconnman.git gresolv: Make sure we will not receive DNS data after closing We must close the channel when freeing the resolver object, otherwise we might still receive data when the resolver has been freed already. Fixes BMC#25757 --- diff --git a/gweb/gresolv.c b/gweb/gresolv.c index da09b2b..cf7f2e9 100644 --- a/gweb/gresolv.c +++ b/gweb/gresolv.c @@ -554,8 +554,10 @@ static void free_nameserver(struct resolv_nameserver *nameserver) if (nameserver->udp_watch > 0) g_source_remove(nameserver->udp_watch); - if (nameserver->udp_channel != NULL) + if (nameserver->udp_channel != NULL) { + g_io_channel_shutdown(nameserver->udp_channel, TRUE, NULL); g_io_channel_unref(nameserver->udp_channel); + } g_free(nameserver->address); g_free(nameserver);