diff options
author | Saurav Babu <saurav.babu@samsung.com> | 2015-08-27 14:07:49 +0530 |
---|---|---|
committer | Saurav Babu <saurav.babu@samsung.com> | 2015-08-27 14:09:42 +0530 |
commit | 5ed0cd56b4136429745b26e58c65c0ca8892588c (patch) | |
tree | 4fb52dcea10a7384193df1c35da7f156b8c8064b | |
parent | d7e2f52b32b60eeefa49dc7dfdad18595c8f7010 (diff) | |
download | connman-5ed0cd56b4136429745b26e58c65c0ca8892588c.tar.gz connman-5ed0cd56b4136429745b26e58c65c0ca8892588c.tar.bz2 connman-5ed0cd56b4136429745b26e58c65c0ca8892588c.zip |
dnsproxy: Fix crash on closing socketsubmit/tizen/20150902.062838accepted/tizen/wearable/20150902.101358accepted/tizen/tv/20150902.101343accepted/tizen/mobile/20150902.101338
Change-Id: Ie99a531c8d9573ab2db41ed3ea9e2ecd3cce5284
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
-rwxr-xr-x | src/dnsproxy.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/dnsproxy.c b/src/dnsproxy.c index 948433df..f5ec5021 100755 --- a/src/dnsproxy.c +++ b/src/dnsproxy.c @@ -2584,13 +2584,18 @@ static int server_create_socket(struct server_data *data) static void destroy_server_sec(struct server_data *server) { GList *list; + int fd; - DBG("index %d server %s sock %d", server->index, server->server, - server->channel != NULL ? - g_io_channel_unix_get_fd(server->channel): -1); + if(server->channel) + fd = g_io_channel_unix_get_fd(server->channel); + else + fd = -1; + + DBG("index %d server %s sock %d", server->index, server->server, fd); server_list_sec = g_slist_remove(server_list_sec, server); - close(g_io_channel_unix_get_fd(server->channel)); + if(fd > 0) + close(fd); server_destroy_socket(server); if (server->protocol == IPPROTO_UDP && server->enabled) |