diff options
author | Christopher Michael <devilhorns@comcast.net> | 2021-02-25 10:02:07 -0500 |
---|---|---|
committer | Christopher Michael <devilhorns@comcast.net> | 2021-02-25 10:05:26 -0500 |
commit | 95a88f5a6c5c8bcc8bacb014742e37e3bfaf503d (patch) | |
tree | 51332aaa74b9179db792a2aaed618cef092f9360 | |
parent | 691621336ad68b29481b8438b89bcca6e148b7f2 (diff) | |
download | efl-95a88f5a6c5c8bcc8bacb014742e37e3bfaf503d.tar.gz |
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
-rw-r--r-- | src/lib/eeze/eeze_disk.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/eeze/eeze_disk.c b/src/lib/eeze/eeze_disk.c index ea413976fc..9747b9801a 100644 --- a/src/lib/eeze/eeze_disk.c +++ b/src/lib/eeze/eeze_disk.c @@ -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; |