Fix NULL dereferencing 89/307489/1
authorJaehyun Kim <jeik01.kim@samsung.com>
Mon, 11 Mar 2024 06:03:54 +0000 (15:03 +0900)
committerJaehyun Kim <jeik01.kim@samsung.com>
Mon, 11 Mar 2024 06:03:54 +0000 (15:03 +0900)
Change-Id: I6f261d230e823b086b02fe39c45f2ba957bbdb08
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
src/vpnsvc.c

index e83181998b36589204ca9619b471be55ab8c781b..21a33da87dce07f2493630537c07bfab74311b19 100755 (executable)
@@ -56,6 +56,12 @@ gboolean handle_vpn_init(Vpnsvc *object,
        if (fd_list_length <= 0)
                DBG("D-Bus Message doesn't contain any fd!");
 
+       if (!fds) {
+               DBG("fd:NULL\n");
+               vpnsvc_complete_vpn_init(object, invocation, VPNSVC_ERROR_IO_ERROR, 0, "");
+               return TRUE;
+       }
+
        DBG("fd:%d\n", *fds);
 
        result = vpn_service_init(arg_iface_name, arg_iface_name_len, *fds, &handle_s);
@@ -105,6 +111,12 @@ gboolean handle_vpn_protect(Vpnsvc *object,
        if (fd_list_length <= 0)
                DBG("D-Bus Message doesn't contain any fd!");
 
+       if (!fds) {
+               DBG("fd:NULL\n");
+               vpnsvc_complete_vpn_protect(object, invocation, VPNSVC_ERROR_IO_ERROR);
+               return TRUE;
+       }
+
        socket = *fds;
        DBG("vpn_protect, %d, %s\n", socket, arg_dev_name);