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
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;
}
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);
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);