summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2018-11-26 09:59:52 +0100
committerHans Dedecker <dedeckeh@gmail.com>2018-11-26 10:00:43 +0100
commita82a8f65e6e6caf0a4059f4258cccca0895becbf (patch)
treec871e3a29f8ae038f8ed2195c9dab8f7e7499687
parentfa2403def21b7a5892e74148d931ca767d7f6d4a (diff)
downloadnetifd-a82a8f65e6e6caf0a4059f4258cccca0895becbf.tar.gz
netifd: fix resource leak on error in netifd_add_dynamic()
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
-rw-r--r--ubus.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ubus.c b/ubus.c
index f5e4997..14688c2 100644
--- a/ubus.c
+++ b/ubus.c
@@ -143,16 +143,17 @@ netifd_add_dynamic(struct ubus_context *ctx, struct ubus_object *obj,
config = blob_memdup(msg);
if (!config)
- goto error_free;
+ goto error;
if (!interface_add(iface, config))
- goto error;
+ goto error_free_config;
return UBUS_STATUS_OK;
-error_free:
- free(iface);
+error_free_config:
+ free(config);
error:
+ free(iface);
return UBUS_STATUS_UNKNOWN_ERROR;
}