realcellindex-fix-allocation-20020821
authorDerrick Brashear <shadow@dementia.org>
Wed, 21 Aug 2002 06:52:18 +0000 (06:52 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 21 Aug 2002 06:52:18 +0000 (06:52 +0000)
fix comparison and the double allocation it uncovers

src/afs/afs_cell.c

index 7b3a42e..f199353 100644 (file)
@@ -512,7 +512,7 @@ afs_int32 afs_NewCell(acellName, acellHosts, aflags, linkedcname, fsport, vlport
        tc->vlport = (vlport ? vlport : AFS_VLPORT);
        afs_stats_cmperf.numCellsVisible++;
        newc++;
-       if (!aflags & CAlias) {
+       if (!(aflags & CAlias)) {
            tc->realcellIndex = afs_realcellindex++;
        } else {
            tc->realcellIndex = -1;
@@ -546,7 +546,7 @@ afs_int32 afs_NewCell(acellName, acellHosts, aflags, linkedcname, fsport, vlport
     tc->timeout = timeout;
 
     /* Allow converting an alias into a real cell */
-    if (!(aflags & CAlias)) {
+    if ((!(aflags & CAlias)) && (tc->states & CAlias)) {
        tc->states &= ~CAlias;
        tc->realcellIndex = afs_realcellindex++;
     }