nfsidmap/static.c:350: leaked_storage: Variable "princ_list" going out of scope leaks the storage it points to. nfsidmap/static.c:358: leaked_storage: Variable "princ_list" going out of scope leaks the storage it points to. nfsidmap/static.c:360: leaked_storage: Variable "unode" going out of scope leaks the storage it points to. nfsidmap/static.c:382: leaked_storage: Variable "princ_list" going out of scope leaks the storage it points to. nfsidmap/static.c:390: leaked_storage: Variable "gnode" going out of scope leaks the storage it points to. Signed-off-by: Steve Dickson <steved@xxxxxxxxxx> --- support/nfsidmap/static.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/support/nfsidmap/static.c b/support/nfsidmap/static.c index f7b8a67..8ac4a39 100644 --- a/support/nfsidmap/static.c +++ b/support/nfsidmap/static.c @@ -347,6 +347,7 @@ static int static_init(void) { warnx("static_init: calloc (1, %lu) failed", (unsigned long)sizeof *unode); free(pw); + conf_free_list(princ_list); return -ENOMEM; } unode->uid = pw->pw_uid; @@ -355,6 +356,9 @@ static int static_init(void) { unode->localname = conf_get_str("Static", cln->field); if (!unode->localname) { free(pw); + free(unode->principal); + free(unode); + conf_free_list(princ_list); return -ENOENT; } @@ -379,6 +383,7 @@ static int static_init(void) { warnx("static_init: calloc (1, %lu) failed", (unsigned long)sizeof *gnode); free(gr); + conf_free_list(princ_list); return -ENOMEM; } gnode->gid = gr->gr_gid; @@ -387,6 +392,9 @@ static int static_init(void) { gnode->localgroup = conf_get_str("Static", cln->field); if (!gnode->localgroup) { free(gr); + free(gnode->principal); + free(gnode); + conf_free_list(princ_list); return -ENOENT; } @@ -394,6 +402,8 @@ static int static_init(void) { LIST_INSERT_HEAD (&gid_mappings[gid_hash(gnode->gid)], gnode, link); } + + conf_free_list(princ_list); return 0; } -- 2.20.1