Added -mno-red-zone
[tpg/acess2.git] / Modules / Filesystems / Ext2 / ext2.c
index ac3d7e5..aa15e10 100644 (file)
@@ -320,15 +320,17 @@ void Ext2_int_UpdateSuperblock(tExt2_Disk *Disk)
        if(ngrp <= 1)   return;\r
        VFS_WriteAt(Disk->FD, 1*bpg*Disk->BlockSize, 1024, &Disk->SuperBlock);\r
        \r
+       #define INT_MAX (((long long int)1<<(sizeof(int)*8))-1)\r
+       \r
        // Powers of 3\r
-       for( i = 3; i < ngrp; i *= 3 )\r
+       for( i = 3; i < ngrp && i < INT_MAX; i *= 3 )\r
                VFS_WriteAt(Disk->FD, i*bpg*Disk->BlockSize, 1024, &Disk->SuperBlock);\r
        \r
        // Powers of 5\r
-       for( i = 5; i < ngrp; i *= 5 )\r
+       for( i = 5; i < ngrp && i < INT_MAX/5; i *= 5 )\r
                VFS_WriteAt(Disk->FD, i*bpg*Disk->BlockSize, 1024, &Disk->SuperBlock);\r
        \r
        // Powers of 7\r
-       for( i = 7; i < ngrp; i *= 7 )\r
+       for( i = 7; i < ngrp && i < INT_MAX/7; i *= 7 )\r
                VFS_WriteAt(Disk->FD, i*bpg*Disk->BlockSize, 1024, &Disk->SuperBlock);\r
 }\r

UCC git Repository :: git.ucc.asn.au