diff options
-rw-r--r-- | login-utils/newgrp.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/login-utils/newgrp.c b/login-utils/newgrp.c index d8ae2cf99..85cba7752 100644 --- a/login-utils/newgrp.c +++ b/login-utils/newgrp.c @@ -28,9 +28,13 @@ static char *get_gshadow_pwd(char *groupname) { char buf[BUFSIZ]; char *pwd = NULL; - FILE *f = fopen(_PATH_GSHADOW, "r"); + FILE *f; - if (groupname == NULL || *groupname == '\0' || f == NULL) + if (groupname == NULL || *groupname == '\0') + return NULL; + + f = fopen(_PATH_GSHADOW, "r"); + if (!f) return NULL; while (fgets(buf, sizeof buf, f)) { |