From 3b322ad414add81cfd8020d35d1d97f9f13cb94d Mon Sep 17 00:00:00 2001 From: Peter Pentchev Date: Wed, 23 Jun 2010 01:09:01 +0200 Subject: [PATCH] mailnamefile: fix parsing Fix a file descriptor leak in the MAILNAMEFILE code. Fix a mistake in my patch submitted to DFBSD - "initialized" should be static! --- util.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/util.c b/util.c index 8808d02..e6d43e9 100644 --- a/util.c +++ b/util.c @@ -49,8 +49,9 @@ const char * hostname(void) { static char name[MAXHOSTNAMELEN+1]; - int initialized = 0; + static int initialized = 0; FILE *fp; + char *res; size_t len; if (initialized) @@ -64,7 +65,9 @@ hostname(void) if (config.mailnamefile != NULL && config.mailnamefile[0] != '\0') { fp = fopen(config.mailnamefile, "r"); if (fp != NULL) { - if (fgets(name, sizeof(name), fp) != NULL) { + res = fgets(name, sizeof(name), fp); + fclose(fp); + if (res != NULL) { len = strlen(name); while (len > 0 && (name[len - 1] == '\r' || @@ -75,7 +78,6 @@ hostname(void) return (name); } } - fclose(fp); } } if (gethostname(name, sizeof(name)) != 0) -- 2.47.3