Fixed a resource leak 57/153057/1
authorhyunuktak <hyunuk.tak@samsung.com>
Thu, 28 Sep 2017 01:07:35 +0000 (10:07 +0900)
committerhyunuktak <hyunuk.tak@samsung.com>
Thu, 28 Sep 2017 01:07:38 +0000 (10:07 +0900)
Change-Id: I70b15db8ba90fc18410072f0017f04413662cde6
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com>
src/technology.c

index a8da19b..2c2df83 100755 (executable)
@@ -1231,14 +1231,18 @@ static DBusMessage *specific_scan(DBusConnection *conn, DBusMessage *msg, void *
                int type;
 
                dbus_message_iter_recurse(&dict, &entry);
-               if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING)
+               if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING) {
+                       g_slist_free_full(specific_scan_list, g_free);
                        return __connman_error_invalid_arguments(msg);
+               }
 
                dbus_message_iter_get_basic(&entry, &key);
                dbus_message_iter_next(&entry);
 
-               if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_VARIANT)
+               if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_VARIANT) {
+                       g_slist_free_full(specific_scan_list, g_free);
                        return __connman_error_invalid_arguments(msg);
+               }
 
                dbus_message_iter_recurse(&entry, &value2);
                type = dbus_message_iter_get_arg_type(&value2);