diff --git a/src/dev/disk_image.cc b/src/dev/disk_image.cc index 84027d9b42..8194eb507b 100644 --- a/src/dev/disk_image.cc +++ b/src/dev/disk_image.cc @@ -108,7 +108,8 @@ RawDiskImage::read(uint8_t *data, std::streampos offset) const if (!stream.is_open()) panic("file not open!\n"); - if (stream.seekg(offset * SectorSize, ios::beg) < 0) + stream.seekg(offset * SectorSize, ios::beg); + if (!stream.good()) panic("Could not seek to location in file"); streampos pos = stream.tellg(); @@ -132,7 +133,8 @@ RawDiskImage::write(const uint8_t *data, std::streampos offset) if (!stream.is_open()) panic("file not open!\n"); - if (stream.seekp(offset * SectorSize, ios::beg) < 0) + stream.seekp(offset * SectorSize, ios::beg); + if (!stream.good()) panic("Could not seek to location in file"); DPRINTF(DiskImageWrite, "write: offset=%d\n", (uint64_t)offset);