dnsproxy: Fix crash on closing socket 27/46927/1 accepted/tizen/mobile/20150902.101338 accepted/tizen/tv/20150902.101343 accepted/tizen/wearable/20150902.101358 submit/tizen/20150902.062838
authorSaurav Babu <saurav.babu@samsung.com>
Thu, 27 Aug 2015 08:37:49 +0000 (14:07 +0530)
committerSaurav Babu <saurav.babu@samsung.com>
Thu, 27 Aug 2015 08:39:42 +0000 (14:09 +0530)
Change-Id: Ie99a531c8d9573ab2db41ed3ea9e2ecd3cce5284
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
src/dnsproxy.c

index 948433d..f5ec502 100755 (executable)
@@ -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)