Merge branch 'master' into 2.0

This commit is contained in:
Julien Duponchelle
2016-08-29 14:07:52 +02:00
14 changed files with 314 additions and 30 deletions

View File

@ -61,7 +61,11 @@ class Qcow2:
struct_format = ">IIQi"
with open(self._path, 'rb') as f:
content = f.read(struct.calcsize(struct_format))
self.magic, self.version, self.backing_file_offset, self.backing_file_size = struct.unpack_from(struct_format, content)
try:
self.magic, self.version, self.backing_file_offset, self.backing_file_size = struct.unpack_from(struct_format, content)
except struct.error:
raise Qcow2Error("Invalid file header for {}".format(self._path))
if self.magic != 1363560955: # The first 4 bytes contain the characters 'Q', 'F', 'I' followed by 0xfb.
raise Qcow2Error("Invalid magic for {}".format(self._path))