Svace Fix: memory leak 99/240799/4
authorRahul Jain <rahul.jain@samsung.com>
Tue, 11 Aug 2020 12:04:12 +0000 (17:34 +0530)
committerRahul Jain <rahul.jain@samsung.com>
Thu, 13 Aug 2020 11:21:16 +0000 (16:51 +0530)
Change-Id: Id10ede540b99d028f6ff40225b4dfcccb46d7fe0

src/iptables.c

index 6b7f7ef..beb14df 100755 (executable)
@@ -1573,14 +1573,25 @@ static GList *find_existing_rule(struct connman_iptables *table,
 
        switch (entry_test->type) {
        case AF_INET:
-               if (!entry_test->entry)
+               if (!entry_test->entry) {
+#if defined TIZEN_EXT
+                       iptables_entry_free(entry_test);
+#endif
                        return NULL;
+               }
                break;
        case AF_INET6:
-               if (!entry_test->entry6)
+               if (!entry_test->entry6) {
+#if defined TIZEN_EXT
+                       iptables_entry_free(entry_test);
+#endif
                        return NULL;
+               }
                break;
        default:
+#if defined TIZEN_EXT
+               iptables_entry_free(entry_test);
+#endif
                return NULL;
        }
 
@@ -2458,8 +2469,13 @@ static struct connman_iptables *iptables_init(int type, const char *table_name)
 
        DBG("%d %s", type, table_name);
 
-       if (setup_xtables(type))
+       if (setup_xtables(type)) {
+#if defined TIZEN_EXT
+               g_free(iptables_mod);
+               g_free(module);
+#endif
                return NULL;
+       }
 
        if (xtables_insmod(iptables_mod, NULL, TRUE) != 0)
                DBG("%s module loading gives error but trying anyway",