evalmount copy out volid for sure
authorDerrick Brashear <shadow@dementia.org>
Thu, 4 Mar 2010 17:23:14 +0000 (12:23 -0500)
committerDerrick Brashear <shadow@dementia.org>
Thu, 4 Mar 2010 17:37:06 +0000 (09:37 -0800)
make sure we really have a volid and avoid dereferencing tvp
if there's none

Change-Id: Iec6e7cba4d43e2d9c9af296bd6a1574e290bd118
Reviewed-on: http://gerrit.openafs.org/1512
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/afs/VNOPS/afs_vnop_lookup.c

index d93f5df..2086e17 100644 (file)
@@ -223,6 +223,8 @@ EvalMountData(char type, char *data, afs_uint32 states, afs_uint32 cellnum,
        *cpos = ':';
     if (!tvp)
        return ENODEV;          /* Couldn't find the volume */
+    else
+       volid = tvp->volume;
 
     /* Don't cross mountpoint from a BK to a BK volume */
     if ((states & CBackup) && (tvp->states & VBackup)) {
@@ -256,7 +258,7 @@ done:
     if (acellidxp)
        *acellidxp = cellidx;
     if (avolnump)
-       *avolnump = tvp->volume;
+       *avolnump = volid;
     if (avnoidp)
        *avnoidp = vnoid;
     if (auniqp)