From 9fd4a0b3b22fa7ab171013657f6ba69fb594fefd Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Mon, 22 Jul 2024 19:34:21 +0200 Subject: [PATCH] lib/gshadow.c: fgetsgent(): Don't use static variables Reported-by: Chris Hofstaedtler Signed-off-by: Alejandro Colomar --- lib/gshadow.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/gshadow.c b/lib/gshadow.c index 4fcbb227d..8f1db29c5 100644 --- a/lib/gshadow.c +++ b/lib/gshadow.c @@ -140,8 +140,9 @@ void endsgent (void) /*@observer@*//*@null@*/struct sgrp * fgetsgent(/*@null@*/FILE *fp) { - static size_t buflen = 0; - static char *buf = NULL; + char *buf = NULL; + size_t buflen = 0; + struct sgrp *sg; if (NULL == fp) { return NULL; @@ -152,7 +153,11 @@ fgetsgent(/*@null@*/FILE *fp) if (stpsep(buf, "\n") == NULL) return NULL; - return (sgetsgent (buf)); + sg = sgetsgent(buf); + + free(buf); + + return sg; }