diff options
Diffstat (limited to 'login-utils')
-rw-r--r-- | login-utils/setpwnam.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/login-utils/setpwnam.c b/login-utils/setpwnam.c index 7593a52b..0e0c0478 100644 --- a/login-utils/setpwnam.c +++ b/login-utils/setpwnam.c @@ -76,7 +76,7 @@ int setpwnam(struct passwd *pwd) int oldumask; int namelen; int buflen = 256; - int contlen; + int contlen, rc; char *linebuf = NULL; oldumask = umask(0); /* Create with exact permissions */ @@ -159,9 +159,11 @@ int setpwnam(struct passwd *pwd) fputs(linebuf, fp); } - if (fclose(fp) < 0) - goto fail; + rc = fclose(fp); fp = NULL; + if (rc < 0) + goto fail; + close(fd); fd = -1; fclose(pwf); /* I don't think I want to know if this failed */ |