Fix derefrencing of NULL pointer 94/248794/1 submit/tizen/20201217.131910 submit/tizen/20201229.102954
authorJaehyun Kim <jeik01.kim@samsung.com>
Wed, 2 Dec 2020 08:50:42 +0000 (17:50 +0900)
committerJaehyun Kim <jeik01.kim@samsung.com>
Wed, 2 Dec 2020 08:50:42 +0000 (17:50 +0900)
Return value of a function '__connman_service_get_network' is dereferenced without checking.

Change-Id: Ib66474b2fc6924d50eb8b35206251938ba63baad
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
src/service.c

index dd4f191..a72a169 100755 (executable)
@@ -8555,12 +8555,15 @@ static struct connman_device *default_connecting_device = NULL;
 static void __connman_service_disconnect_default(struct connman_service *service)
 {
        struct connman_device *default_device = NULL;
+       struct connman_network *network = __connman_service_get_network(service);
+
+       if (!network)
+               return;
 
        if (default_connecting_device == NULL)
                return;
 
-       default_device = connman_network_get_device(
-                       __connman_service_get_network(service));
+       default_device = connman_network_get_device(network);
 
        DBG("Disconnecting service %p %s", service, service->path);
        DBG("Disconnecting device %p %p %s",