eeze: remove memory leak 03/258703/1
authorShinwoo Kim <cinoo.kim@samsung.com>
Mon, 24 May 2021 10:48:43 +0000 (19:48 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Mon, 24 May 2021 10:57:07 +0000 (19:57 +0900)
Summary: udev_enumerate_new needs to call udev_enumerate_unref before leaving.

Reviewers: raster, Hermet, herb, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12280

Change-Id: Iec9925e4af64cd9b747ceb4ee695eb079a8dac63

src/lib/eeze/eeze_net.c
src/lib/eeze/eeze_udev_find.c

index bdd7181..55d6f30 100644 (file)
@@ -76,10 +76,15 @@ eeze_net_new(const char *name)
         syspath = eina_stringshare_add(name);
         break;
      }
-   if (!device) return NULL;
+   if (!device)
+     {
+        udev_enumerate_unref(en);
+        return NULL;
+     }
    net = calloc(1, sizeof(Eeze_Net));
    if (!net)
      {
+        udev_enumerate_unref(en);
         udev_device_unref(device);
         return NULL;
      }
@@ -90,6 +95,7 @@ eeze_net_new(const char *name)
    idx = udev_device_get_sysattr_value(net->device, "ifindex");
    if (!idx)
      {
+        udev_enumerate_unref(en);
         udev_device_unref(net->device);
         eina_stringshare_del(net->syspath);
         eina_stringshare_del(net->name);
index 3b1e5ef..251d020 100644 (file)
@@ -95,7 +95,11 @@ eeze_udev_find_unlisted_similar(Eina_List *list)
           return NULL;
 
         device = _new_device(dev);
-        if (!device) continue;
+        if (!device)
+          {
+             udev_enumerate_unref(en);
+             continue;
+          }
 
         if ((vendor = udev_device_get_property_value(device, "ID_VENDOR_ID")))
           udev_enumerate_add_match_property(en, "ID_VENDOR_ID", vendor);