diff options
| author | Simon Rettberg | 2022-02-14 12:22:48 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2022-02-14 12:22:48 +0100 |
| commit | 8d48e0ec97122d72a5ab224c535e51de6a2bef77 (patch) | |
| tree | 6d4a40fb8eb9e2e1bb84ec69c64bf8db13c13f17 /src/main/java/org/openslx/virtualization/disk/DiskImageVmdk.java | |
| parent | Force Unix line endings for Libvirt XML files (even on Windows platforms) (diff) | |
| download | master-sync-shared-8d48e0e.tar.gz master-sync-shared-8d48e0e.tar.xz master-sync-shared-8d48e0e.zip | |
Always pass charset in String constructor; don't treat strings as binary safe
Diffstat (limited to 'src/main/java/org/openslx/virtualization/disk/DiskImageVmdk.java')
| -rw-r--r-- | src/main/java/org/openslx/virtualization/disk/DiskImageVmdk.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main/java/org/openslx/virtualization/disk/DiskImageVmdk.java b/src/main/java/org/openslx/virtualization/disk/DiskImageVmdk.java index 720ec37..77986ef 100644 --- a/src/main/java/org/openslx/virtualization/disk/DiskImageVmdk.java +++ b/src/main/java/org/openslx/virtualization/disk/DiskImageVmdk.java @@ -1,6 +1,7 @@ package org.openslx.virtualization.disk; import java.io.RandomAccessFile; +import java.nio.charset.StandardCharsets; import org.openslx.util.Util; import org.openslx.virtualization.configuration.VirtualizationConfigurationVmwareFileFormat; @@ -117,15 +118,15 @@ public class DiskImageVmdk extends DiskImage // get content of descriptor file embedded into the VMDK disk image final long vmdkDescriptorOffset = vmdkDescriptorSectorOffset * DiskImageVmdk.VMDK_SECTOR_SIZE; final long vmdkDescriptorSizeMax = vmdkDescriptorSectorSize * DiskImageVmdk.VMDK_SECTOR_SIZE; - final String descriptorStr = DiskImageUtils.readBytesAsString( diskFile, vmdkDescriptorOffset, - Long.valueOf( vmdkDescriptorSizeMax ).intValue() ); + final String descriptorStr = new String ( DiskImageUtils.readBytesAsArray( diskFile, vmdkDescriptorOffset, + Long.valueOf( vmdkDescriptorSizeMax ).intValue() ), StandardCharsets.US_ASCII ); // get final length of the content within the sectors to be able to trim all 'zero' characters final int vmdkDescriptorSize = descriptorStr.indexOf( 0 ); // if final length of the content is invalid, throw an exception if ( vmdkDescriptorSize > vmdkDescriptorSizeMax || vmdkDescriptorSize < 0 ) { - final String errorMsg = new String( "Embedded descriptor size in VMDK disk image is invalid!" ); + final String errorMsg = "Embedded descriptor size in VMDK disk image is invalid!"; throw new DiskImageException( errorMsg ); } |
