]> localhost Git - SCSI2SD.git/commitdiff
Fix crash when SD card is smaller than starting sector of scsi disk
authorMichael McMaster <michael@codesrc.com>
Sat, 29 Apr 2017 04:39:33 +0000 (14:39 +1000)
committerMichael McMaster <michael@codesrc.com>
Sat, 29 Apr 2017 04:39:33 +0000 (14:39 +1000)
software/SCSI2SD/src/geometry.c
software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit

index 0666b5a2863bd185a39580e67a6c61b74b975fd9..c3c6bb7cfc632d8e374071511cce86e8d08e4496 100755 (executable)
@@ -28,7 +28,16 @@ uint32_t getScsiCapacity(
        uint32_t capacity =\r
                (sdDev.capacity - sdSectorStart) /\r
                        SDSectorsPerSCSISector(bytesPerSector);\r
-       if (scsiSectors && (capacity > scsiSectors))\r
+\r
+       if (sdDev.capacity == 0)\r
+       {\r
+               capacity = 0;\r
+       }\r
+       else if (sdSectorStart >= sdDev.capacity)\r
+       {\r
+               capacity = 0;\r
+       }\r
+       else if (scsiSectors && (capacity > scsiSectors))\r
        {\r
                capacity = scsiSectors;\r
        }\r
index c2567cd77d6a32616c18111926716353d97dd092..4ee1a975b08e06b33a6c5662a768749cfb49ce5d 100644 (file)
Binary files a/software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit and b/software/SCSI2SD/v4/SCSI2SD.cydsn/SCSI2SD.cyfit differ