eeze_disk: fix potential memory leak

If allocation for disk fails, then we leak memory from previously
called _new_device function.

This patch based on D12223 from akanad (Wonki Kim)

ref D12223
This commit is contained in:
Christopher Michael 2021-02-25 10:02:07 -05:00
parent 691621336a
commit 95a88f5a6c
1 changed files with 5 additions and 2 deletions

View File

@ -175,7 +175,11 @@ eeze_disk_new(const char *path)
return NULL;
if (!(disk = calloc(1, sizeof(Eeze_Disk))))
return NULL;
{
eina_stringshare_del(syspath);
udev_device_unref(dev);
return NULL;
}
if (is_dev)
{
@ -185,7 +189,6 @@ eeze_disk_new(const char *path)
else
disk->syspath = eina_stringshare_add(udev_device_get_syspath(dev));
disk->device = dev;
disk->mount_opts = EEZE_DISK_MOUNTOPT_DEFAULTS;
disk->mount_cmd_changed = EINA_TRUE;