]> xenbits.xensource.com Git - libvirt.git/commitdiff
Use correct location for qcow1 encryption header
authorJán Tomko <jtomko@redhat.com>
Fri, 23 Jan 2015 12:29:48 +0000 (13:29 +0100)
committerJán Tomko <jtomko@redhat.com>
Mon, 26 Jan 2015 15:13:02 +0000 (16:13 +0100)
After the 8-byte size header, there are two one-byte headers
and two bytes of padding before the crypt_header field.

Our QCOW1_HDR_CRYPT constant did not skip the padding.
http://git.qemu.org/?p=qemu.git;a=blob;f=block/qcow.c;h=ece22697#l41

https://bugzilla.redhat.com/show_bug.cgi?id=1185165

src/util/virstoragefile.c

index 7a4f9a0b3915c91ce1089d2720e33f8a838e7ae8..8568ebb1e720a6d9fdd396d5a0faef5123596477 100644 (file)
@@ -161,7 +161,7 @@ qedGetBackingStore(char **, int *, const char *, size_t);
 #define QCOWX_HDR_BACKING_FILE_SIZE (QCOWX_HDR_BACKING_FILE_OFFSET+8)
 #define QCOWX_HDR_IMAGE_SIZE (QCOWX_HDR_BACKING_FILE_SIZE+4+4)
 
-#define QCOW1_HDR_CRYPT (QCOWX_HDR_IMAGE_SIZE+8+1+1)
+#define QCOW1_HDR_CRYPT (QCOWX_HDR_IMAGE_SIZE+8+1+1+2)
 #define QCOW2_HDR_CRYPT (QCOWX_HDR_IMAGE_SIZE+8)
 
 #define QCOW1_HDR_TOTAL_SIZE (QCOW1_HDR_CRYPT+4+8)