floppy formats: correct sector extraction in wd/upd when extracted sector is smaller than expected

This commit is contained in:
Olivier Galibert 2022-03-23 14:19:23 +01:00
parent 4b3dcdbcc1
commit 01b611a51f
2 changed files with 2 additions and 2 deletions

View File

@ -436,7 +436,7 @@ void upd765_format::extract_sectors(floppy_image *image, const format &f, desc_s
else if(sectors[ds.sector_id].size() < ds.size) {
memcpy((void *)ds.data, sectors[ds.sector_id].data(), sectors[ds.sector_id].size());
memset((uint8_t *)ds.data + sectors[ds.sector_id].size(), 0, sectors[ds.sector_id].size() - ds.size);
memset((uint8_t *)ds.data + sectors[ds.sector_id].size(), 0, ds.size - sectors[ds.sector_id].size());
} else
memcpy((void *)ds.data, sectors[ds.sector_id].data(), ds.size);

View File

@ -527,7 +527,7 @@ void wd177x_format::extract_sectors(floppy_image *image, const format &f, desc_s
else if(sectors[ds.sector_id].size() < ds.size) {
memcpy((void *)ds.data, sectors[ds.sector_id].data(), sectors[ds.sector_id].size());
memset((uint8_t *)ds.data + sectors[ds.sector_id].size(), 0, sectors[ds.sector_id].size() - ds.size);
memset((uint8_t *)ds.data + sectors[ds.sector_id].size(), 0, ds.size - sectors[ds.sector_id].size());
} else
memcpy((void *)ds.data, sectors[ds.sector_id].data(), ds.size);