浏览代码

Fix crash when SD card is smaller than starting sector of scsi disk

Michael McMaster 8 年之前
父节点
当前提交
2c49dbce80
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      lib/SCSI2SD/src/firmware/geometry.c

+ 6 - 0
lib/SCSI2SD/src/firmware/geometry.c

@@ -30,10 +30,16 @@ uint32_t getScsiCapacity(
 	uint32_t capacity =
 		(sdDev.capacity - sdSectorStart - S2S_CFG_SIZE) /
 			SDSectorsPerSCSISector(bytesPerSector);
+
+
 	if (sdDev.capacity == 0)
 	{
 		capacity = 0;
 	}
+	else if (sdSectorStart >= (sdDev.capacity - S2S_CFG_SIZE))
+	{
+		capacity = 0;
+	}
 	else if (scsiSectors && (capacity > scsiSectors))
 	{
 		capacity = scsiSectors;