From: Shinwoo Kim Date: Mon, 24 May 2021 10:48:43 +0000 (+0900) Subject: eeze: remove memory leak X-Git-Tag: accepted/tizen/unified/20210602.122542~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=79e5c0450528f7c3be7a45e0ae973fc866fc3239;p=platform%2Fupstream%2Fefl.git eeze: remove memory leak 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 --- diff --git a/src/lib/eeze/eeze_net.c b/src/lib/eeze/eeze_net.c index bdd7181..55d6f30 100644 --- a/src/lib/eeze/eeze_net.c +++ b/src/lib/eeze/eeze_net.c @@ -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); diff --git a/src/lib/eeze/eeze_udev_find.c b/src/lib/eeze/eeze_udev_find.c index 3b1e5ef..251d020 100644 --- a/src/lib/eeze/eeze_udev_find.c +++ b/src/lib/eeze/eeze_udev_find.c @@ -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);