]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-windows-cell-list-validation-20080911
authorJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 11 Sep 2008 18:05:32 +0000 (18:05 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Thu, 11 Sep 2008 18:05:32 +0000 (18:05 +0000)
LICENSE MIT

correct cell list validation now that the free cell list exists

(cherry picked from commit d85bdb4c9f9ddf7d287072a3d12e65423e551f40)

src/WINNT/afsd/cm_cell.c

index 67a4ef67fbfa02182fe5f059a084b38cf981106b..8d8264330ae8d2f487ce2cd5a441684fc1db9b17 100644 (file)
@@ -399,10 +399,19 @@ cm_ValidateCell(void)
         }
     }
 
+    for (cellp = cm_data.freeCellsp; cellp; cellp=cellp->freeNextp, count++) {
+        if ( count != 0 && cellp == cm_data.freeCellsp ||
+             count > cm_data.maxCells ) {
+            afsi_log("cm_ValidateCell failure: cm_data.freeCellsp infinite loop");
+            fprintf(stderr, "cm_ValidateCell failure: cm_data.freeCellsp infinite loop\n");
+            return -3;
+        }
+    }
+
     if ( count != cm_data.currentCells ) {
         afsi_log("cm_ValidateCell failure: count != cm_data.currentCells");
         fprintf(stderr, "cm_ValidateCell failure: count != cm_data.currentCells\n");
-        return -3;
+        return -4;
     }
     
     return 0;