From 7265d305c27dee05436a25dc60481ad62e022756 Mon Sep 17 00:00:00 2001 From: illiliti Date: Fri, 8 Oct 2021 08:53:04 +0300 Subject: [PATCH] various: fix memory leaks Closes: #41 --- udev_device.c | 2 ++ udev_list.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/udev_device.c b/udev_device.c index d1d57f3..e202150 100644 --- a/udev_device.c +++ b/udev_device.c @@ -546,12 +546,14 @@ struct udev_device *udev_device_new_from_syspath(struct udev *udev, const char * } if (!realpath(syspath, path)) { + free(subsystem); return NULL; } udev_device = calloc(1, sizeof(*udev_device)); if (!udev_device) { + free(subsystem); return NULL; } diff --git a/udev_list.c b/udev_list.c index 95b08e8..b7fabca 100644 --- a/udev_list.c +++ b/udev_list.c @@ -78,6 +78,7 @@ struct udev_list_entry *udev_list_entry_add(struct udev_list_entry *list_entry, list_entry2->name = strdup(name); if (!list_entry2->name) { + free(list_entry2); return NULL; } @@ -85,6 +86,8 @@ struct udev_list_entry *udev_list_entry_add(struct udev_list_entry *list_entry, list_entry2->value = strdup(value); if (!list_entry2->value) { + free(list_entry2->name); + free(list_entry2); return NULL; } }