gzip shouldn't raise ValueError on corrupt files
Currently the gzip module will raise a ValueError if the file was
corrupt (bad crc or bad size). I can't see how that applies to
reading a corrupt file. IOError seems better, and it's what code
will likely be looking for.
crc32 = read32(self.fileobj)
isize = U32(read32(self.fileobj)) # may exceed 2GB
if U32(crc32) != U32(self.crc):
- raise ValueError, "CRC check failed"
+ raise IOError, "CRC check failed"
elif isize != LOWU32(self.size):
- raise ValueError, "Incorrect length of data produced"
+ raise IOError, "Incorrect length of data produced"
def close(self):
if self.mode == WRITE: