From cc502635046a2015d07fab5a21edbda7b7b98f38 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Mon, 21 Oct 2019 06:10:26 +0000 Subject: [PATCH] plugin: exec: properly free memory on parse error Signed-off-by: Yousong Zhou --- plugin.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plugin.c b/plugin.c index fa5f09f..877345d 100644 --- a/plugin.c +++ b/plugin.c @@ -321,11 +321,16 @@ rpc_plugin_parse_exec(const char *name, int fd) obj_type = calloc(1, sizeof(*obj_type)); - if (!obj_type) + if (!obj_type) { + free(obj); return NULL; + } - if (asprintf((char **)&obj_type->name, "luci-rpc-plugin-%s", name) < 0) + if (asprintf((char **)&obj_type->name, "luci-rpc-plugin-%s", name) < 0) { + free(obj); + free(obj_type); return NULL; + } obj_type->methods = methods; obj_type->n_methods = n_method;