aboutsummaryrefslogtreecommitdiff
path: root/resolv
diff options
context:
space:
mode:
Diffstat (limited to 'resolv')
-rw-r--r--resolv/res_init.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/resolv/res_init.c b/resolv/res_init.c
index 95dce09..0934571 100644
--- a/resolv/res_init.c
+++ b/resolv/res_init.c
@@ -508,7 +508,6 @@ res_vinit_1 (FILE *fp, struct resolv_conf_parser *parser)
continue;
}
}
- fclose (fp);
}
if (__glibc_unlikely (nameserver_list_size (&parser->nameserver_list) == 0))
{
@@ -593,6 +592,13 @@ __resolv_conf_load (struct __res_state *preinit)
}
resolv_conf_parser_free (&parser);
+ if (fp != NULL)
+ {
+ int saved_errno = errno;
+ fclose (fp);
+ __set_errno (saved_errno);
+ }
+
return conf;
}