diff options
-rw-r--r-- | usr.sbin/npppd/npppd/privsep.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/usr.sbin/npppd/npppd/privsep.c b/usr.sbin/npppd/npppd/privsep.c index 434c857cac7..a1e05616e50 100644 --- a/usr.sbin/npppd/npppd/privsep.c +++ b/usr.sbin/npppd/npppd/privsep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: privsep.c,v 1.14 2014/07/18 13:16:22 yasuoka Exp $ */ +/* $OpenBSD: privsep.c,v 1.15 2014/08/23 15:29:55 doug Exp $ */ /* * Copyright (c) 2010 Yasuoka Masahiko <yasuoka@openbsd.org> @@ -282,11 +282,16 @@ FILE * priv_fopen(const char *path) { int f; + FILE *fp; if ((f = priv_open(path, O_RDONLY, 0600)) < 0) return (NULL); - return fdopen(f, "r"); + if ((fp = fdopen(f, "r")) == NULL) { + close(f); + return (NULL); + } else + return (fp); } int |