mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 23:10:58 +00:00
readgroup: Make sure user supplies a groupfile
If the user supplies enough command line arguments, but doesn't provide a groupfile, then we can end up trying to open whatever garbage is on the stack. Once we've finished parsing the command line arguments, make sure that a filename was supplied. Caught by coverity (#986008) Change-Id: Iaea60027cf4bd81f9af04e995ce5c395275be833 Reviewed-on: http://gerrit.openafs.org/9440 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@your-file-system.com> Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
This commit is contained in:
parent
5cf4415c8a
commit
3c564444cf
@ -76,6 +76,8 @@ main(int argc, char **argv)
|
|||||||
afs_int32 i;
|
afs_int32 i;
|
||||||
afs_int32 fail = 0;
|
afs_int32 fail = 0;
|
||||||
|
|
||||||
|
buf[0] = '\0';
|
||||||
|
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
||||||
fprintf(stderr, "Usage: readgroup [-v] [-c cellname] groupfile.\n");
|
fprintf(stderr, "Usage: readgroup [-v] [-c cellname] groupfile.\n");
|
||||||
exit(0);
|
exit(0);
|
||||||
@ -92,6 +94,13 @@ main(int argc, char **argv)
|
|||||||
strncpy(buf, argv[i], 150);
|
strncpy(buf, argv[i], 150);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Catch missing filename */
|
||||||
|
if (buf[0] == '\0') {
|
||||||
|
fprintf(stderr, "Usage: readgroup [-v] [-c cellname] groupfile.\n");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
code = pr_Initialize(2, AFSDIR_CLIENT_ETC_DIRPATH, cellname);
|
code = pr_Initialize(2, AFSDIR_CLIENT_ETC_DIRPATH, cellname);
|
||||||
free(cellname);
|
free(cellname);
|
||||||
if (code) {
|
if (code) {
|
||||||
|
Loading…
Reference in New Issue
Block a user