From 1ee066ae1e5b39ac42120ad0f6f8af0f102db952 Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Fri, 17 May 2024 13:52:07 +0200 Subject: [PATCH] src/useradd.c: set_defaults(): Fix FILE* leak Report: > shadow-4.15.0/src/useradd.c:575:2: alloc_fn: Storage is returned from allocation function "fdopen". > shadow-4.15.0/src/useradd.c:575:2: var_assign: Assigning: "ofp" = storage returned from "fdopen(ofd, "w")". > shadow-4.15.0/src/useradd.c:734:2: leaked_storage: Variable "ofp" going out of scope leaks the storage it points to. > 732| } > 733| > 734|-> return ret; > 735| } > 736| Link: Reported-by: Iker Pedrosa Reviewed-by: Iker Pedrosa Signed-off-by: Alejandro Colomar --- src/useradd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/useradd.c b/src/useradd.c index e0238457..347334a6 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -615,7 +615,8 @@ static int set_defaults (void) fprintf (stderr, _("%s: line too long in %s: %s..."), Prog, default_file, buf); - (void) fclose (ifp); + fclose(ifp); + fclose(ofp); goto err_free_def; } }