From f96a573155d7ef7fd9ec6d50e28f794499d3f61e Mon Sep 17 00:00:00 2001 From: illiliti Date: Tue, 28 Jul 2020 21:38:57 +0300 Subject: [PATCH] simplify error handling --- udev_enumerate.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/udev_enumerate.c b/udev_enumerate.c index ab03487..9921728 100644 --- a/udev_enumerate.c +++ b/udev_enumerate.c @@ -307,27 +307,18 @@ int udev_enumerate_scan_devices(struct udev_enumerate *udev_enumerate) continue; } + data = calloc(len, sizeof(struct udev_enumerate_thread)); thread = calloc(len, sizeof(pthread_t)); - if (!thread) { - for (u = 0; u < len; u++) { - free(de[u]); - } - - free(de); - continue; - } - - data = calloc(len, sizeof(struct udev_enumerate_thread)); - - if (!data) { + if (!data || !thread) { for (u = 0; u < len; u++) { free(de[u]); } free(thread); + free(data); free(de); - continue; + return -1; } // TODO do we really need structure for every thread ?