diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index c1574f17..5726f4f5 100644 --- a/src/dos/dos_files.cpp +++ b/src/dos/dos_files.cpp @@ -1229,7 +1229,10 @@ bool DOS_FileExists(char const * const name) { bool DOS_GetAllocationInfo(Bit8u drive,Bit16u * _bytes_sector,Bit8u * _sectors_cluster,Bit16u * _total_clusters) { if (!drive) drive = DOS_GetDefaultDrive(); else drive--; - if (drive >= DOS_DRIVES || !Drives[drive]) return false; + if (drive >= DOS_DRIVES || !Drives[drive]) { + DOS_SetError(DOSERR_INVALID_DRIVE); + return false; + } Bit16u _free_clusters; Drives[drive]->AllocationInfo(_bytes_sector,_sectors_cluster,_total_clusters,&_free_clusters); SegSet16(ds,RealSeg(dos.tables.mediaid));