forked from enlightenment/efl
eeze walk: fix a memory leaking
Summary: there is a memory leak in a logic for walking along child-parent relation, in case of device_get_sysattr_value failure. this patch fixes the leak. Change-Id: I95e9484b1549d1c794ec529c995af33da9b8a0ee Reviewers: bu5hm4n, zmike Subscribers: raster, SPAM-TeresaButler, vtorri, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12224
This commit is contained in:
parent
d37958c1b0
commit
257dced038
|
@ -49,17 +49,18 @@ eeze_udev_walk_get_sysattr(const char *syspath,
|
|||
if (!(device = _new_device(syspath)))
|
||||
return NULL;
|
||||
|
||||
for (parent = device; parent;
|
||||
child = parent, parent = udev_device_get_parent(child))
|
||||
for (parent = device; parent;)
|
||||
{
|
||||
if ((test = udev_device_get_sysattr_value(parent, sysattr)))
|
||||
{
|
||||
test = eina_stringshare_add(test);
|
||||
udev_device_unref(device);
|
||||
udev_device_unref(parent);
|
||||
return test;
|
||||
}
|
||||
child = parent;
|
||||
parent = udev_device_get_parent(child);
|
||||
udev_device_unref(child);
|
||||
}
|
||||
|
||||
udev_device_unref(device);
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue