auth: check if argument of afsconf_Close* is null 52/13352/2
authorMarcio Barbosa <mbarbosa@sinenomine.net>
Mon, 1 Oct 2018 21:44:22 +0000 (17:44 -0400)
committerBenjamin Kaduk <kaduk@mit.edu>
Tue, 9 Oct 2018 14:28:27 +0000 (10:28 -0400)
Currently, we do not check if the argument of afsconf_Close /
afsconf_CloseInternal is equal to null. In order to avoid a possible
segmentation fault, add the checks.

Change-Id: I45635ad2d735505637072867edb7ff17da3c671a
Reviewed-on: https://gerrit.openafs.org/13352
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

src/auth/cellconfig.c

index fcc5cec..20547aa 100644 (file)
@@ -1538,6 +1538,10 @@ afsconf_GetLocalCell(struct afsconf_dir *adir, char *aname, afs_int32 alen)
 int
 afsconf_Close(struct afsconf_dir *adir)
 {
+    if (adir == NULL) {
+       return 0;
+    }
+
     LOCK_GLOBAL_MUTEX;
     afsconf_CloseInternal(adir);
     if (adir->name)
@@ -1554,6 +1558,10 @@ afsconf_CloseInternal(struct afsconf_dir *adir)
     struct afsconf_aliasentry *ta, *na;
     char *tname;
 
+    if (adir == NULL) {
+       return 0;
+    }
+
     tname = adir->name;                /* remember name, since that's all we preserve */
 
     /* free everything we can find */