getnetid(..): consistently fclose fd at the end of the function
This mutes a false positive with cppcheck, but also helps eliminate future potential issues with this variable MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
3552a02626
commit
99d498608a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=300387
@ -243,6 +243,9 @@ getnetid(char *key, char *ret)
|
||||
char *lookup;
|
||||
int len;
|
||||
#endif
|
||||
int rv;
|
||||
|
||||
rv = 0;
|
||||
|
||||
fd = fopen(NETIDFILE, "r");
|
||||
if (fd == NULL) {
|
||||
@ -253,13 +256,11 @@ getnetid(char *key, char *ret)
|
||||
return (0);
|
||||
#endif
|
||||
}
|
||||
for (;;) {
|
||||
if (fd == NULL)
|
||||
return (0); /* getnetidyp brings us here */
|
||||
while (fd != NULL) {
|
||||
res = fgets(buf, sizeof(buf), fd);
|
||||
if (res == NULL) {
|
||||
fclose(fd);
|
||||
return (0);
|
||||
rv = 0;
|
||||
goto done;
|
||||
}
|
||||
if (res[0] == '#')
|
||||
continue;
|
||||
@ -282,9 +283,8 @@ getnetid(char *key, char *ret)
|
||||
lookup[len] = 0;
|
||||
strcpy(ret, lookup);
|
||||
free(lookup);
|
||||
if (fd != NULL)
|
||||
fclose(fd);
|
||||
return (2);
|
||||
rv = 2;
|
||||
goto done;
|
||||
#else /* YP */
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr,
|
||||
@ -310,10 +310,14 @@ getnetid(char *key, char *ret)
|
||||
}
|
||||
if (strcmp(mkey, key) == 0) {
|
||||
strcpy(ret, mval);
|
||||
fclose(fd);
|
||||
return (1);
|
||||
|
||||
rv = 1;
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
done:
|
||||
if (fd != NULL)
|
||||
fclose(fd);
|
||||
return (rv);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user