From 6423a434a52219f424f803f6c15723bc3f27db7f Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Tue, 17 Oct 2017 23:34:16 +0100 Subject: [PATCH] Do not overflow when decoded CopyQM image is bigger than expected. --- DiscImageChef.DiscImages/CopyQM.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/DiscImageChef.DiscImages/CopyQM.cs b/DiscImageChef.DiscImages/CopyQM.cs index c8c4fc48..ab91da48 100644 --- a/DiscImageChef.DiscImages/CopyQM.cs +++ b/DiscImageChef.DiscImages/CopyQM.cs @@ -295,9 +295,11 @@ namespace DiscImageChef.ImagePlugins // In case there is omitted data long sectors = (header.sectorsPerTrack) * header.heads * header.totalCylinders; - byte[] filling = new byte[(sectors * header.sectorSize) - decodedImage.Length]; - if(filling.Length > 0) + long fillingLen = (sectors * header.sectorSize) - decodedImage.Length; + + if(fillingLen > 0) { + byte[] filling = new byte[fillingLen]; ArrayHelpers.ArrayFill(filling, (byte)0xF6); decodedImage.Write(filling, 0, filling.Length); }