From 4b149fea04f1fea2588427c3f4f228461b67c32b Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Tue, 9 Nov 2021 17:41:38 +0000 Subject: [PATCH] Do not try to read past directory sector in detection of media type. Fixes #697 --- Aaru.Core/Media/Detection/MMC.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Aaru.Core/Media/Detection/MMC.cs b/Aaru.Core/Media/Detection/MMC.cs index 54d04c54b..ee225e4eb 100644 --- a/Aaru.Core/Media/Detection/MMC.cs +++ b/Aaru.Core/Media/Detection/MMC.cs @@ -1831,8 +1831,8 @@ namespace Aaru.Core.Media.Detection { int rootPos = ri * 2048; - while(isoSector[rootPos] > 0 && - rootPos < isoSector.Length && + while(rootPos < isoSector.Length && + isoSector[rootPos] > 0 && rootPos + isoSector[rootPos] <= isoSector.Length) { int nameLen = isoSector[rootPos + 32]; @@ -2077,8 +2077,8 @@ namespace Aaru.Core.Media.Detection { int vcdPos = vi * 2048; - while(isoSector[vcdPos] > 0 && - vcdPos < isoSector.Length && + while(vcdPos < isoSector.Length && + isoSector[vcdPos] > 0 && vcdPos + isoSector[vcdPos] <= isoSector.Length) { int nameLen = isoSector[vcdPos + 32]; @@ -2174,8 +2174,8 @@ namespace Aaru.Core.Media.Detection { int pcdPos = pi * 2048; - while(isoSector[pcdPos] > 0 && - pcdPos < isoSector.Length && + while(pcdPos < isoSector.Length && + isoSector[pcdPos] > 0 && pcdPos + isoSector[pcdPos] <= isoSector.Length) { int nameLen = isoSector[pcdPos + 32];