From 400084133c5535d67a1f3a6a7b044482f8009bc5 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 28 Dec 2022 13:53:10 +0100 Subject: src: reduce code duplication and protect against NULL ptr deref Signed-off-by: Joachim Wiberg --- src/libnet_if_addr.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/libnet_if_addr.c b/src/libnet_if_addr.c index 6d8f738..b824a4d 100644 --- a/src/libnet_if_addr.c +++ b/src/libnet_if_addr.c @@ -488,22 +488,21 @@ libnet_select_device(libnet_t *l) } good: - for (i = 0; i < c; i++) - { - free(al[i].device); - al[i].device = NULL; - } - free(al); - return (1); - + rc = 1; + goto end; bad: - for (i = 0; i < c; i++) - { - free(al[i].device); - al[i].device = NULL; + rc = -1; +end: + if (al) { + for (i = 0; i < c; i++) + { + free(al[i].device); + al[i].device = NULL; + } + free(al); } - free(al); - return (-1); + + return rc; } /** -- cgit v1.2.1