Fix a file descriptor leak in the MAILNAMEFILE code.
Fix a mistake in my patch submitted to DFBSD - "initialized" should be static!
hostname(void)
{
static char name[MAXHOSTNAMELEN+1];
- int initialized = 0;
+ static int initialized = 0;
FILE *fp;
+ char *res;
size_t len;
if (initialized)
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' ||
return (name);
}
}
- fclose(fp);
}
}
if (gethostname(name, sizeof(name)) != 0)