From 1761bed478ee2d399f2d8b24db222ae462426a6a Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 12 Dec 2018 11:18:31 +0100 Subject: DiskImage: Proper qcow2 detection --- src/main/java/org/openslx/util/vm/DiskImage.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/openslx/util/vm/DiskImage.java b/src/main/java/org/openslx/util/vm/DiskImage.java index ed8f5db..2b24a3f 100644 --- a/src/main/java/org/openslx/util/vm/DiskImage.java +++ b/src/main/java/org/openslx/util/vm/DiskImage.java @@ -19,7 +19,10 @@ public class DiskImage */ private static final int VMDK_MAGIC = 0x4b444d56; private static final int VDI_MAGIC = 0x7f10dabe; - private static final String QEMU = "QFI"; + /** + * Big endian representation of the 4 bytes 'QFI\xFB' + */ + private static final int QEMU_MAGIC = 0x514649fb; public enum ImageFormat { @@ -162,10 +165,7 @@ public class DiskImage // TODO: qcow file.seek( 0 ); - byte[] qcowBuffer = new byte[ QEMU.length() ]; - file.readFully( qcowBuffer ); - String qcowString = new String( qcowBuffer ); - if ( QEMU.equals( qcowString ) ) { + if ( file.readInt() == QEMU_MAGIC ) { // dummy values this.isStandalone = true; this.isCompressed = false; -- cgit v1.2.3-55-g7522