]> Zhao Yanbai Git Server - minix.git/commitdiff
Added two sanity checks:
authorBen Gras <ben@minix3.org>
Mon, 22 Aug 2005 09:54:31 +0000 (09:54 +0000)
committerBen Gras <ben@minix3.org>
Mon, 22 Aug 2005 09:54:31 +0000 (09:54 +0000)
.  partitions larger than the disk
   (this happens when partitions are set to end earlier than they start
   in part)
.  zero-sized partitions (this confuses autopart later on)

autopart doesn't continue if this happens.

commands/ibm/autopart.c

index 96dcda1a9cbf55392b5d5a1b30728fbac99a5451..ad5500736c49a7f2e0732c4cd4dcc849957376d6 100755 (executable)
@@ -1794,6 +1794,16 @@ void regionize(void)
                                exit(1);
                        }
                }
+               if(table[i].size > table[0].size) {
+                       printf("\nSanity check failed on %s - partition is larger than disk.\n"
+                               "Please use expert mode to correct it.\n", curdev->name);
+                       exit(1);
+               }
+               if(table[i].size < 1) {
+                       printf("\nSanity check failed on %s - zero-sized partition.\n"
+                               "Please use expert mode to correct it.\n", curdev->name);
+                       exit(1);
+               } 
 
                /* Remember used region. */
                memcpy(&regions[nr_regions].used_part, &table[i], sizeof(table[i]));