From 8450369a22ab3a5d3d4da561b812ea072d295f6b Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 26 Sep 2020 07:54:00 +0200 Subject: [PATCH] - must reset file pointer before reading the size from a patch texture. --- source/common/textures/formats/patchtexture.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/common/textures/formats/patchtexture.cpp b/source/common/textures/formats/patchtexture.cpp index 46688d99b..f1f65291d 100644 --- a/source/common/textures/formats/patchtexture.cpp +++ b/source/common/textures/formats/patchtexture.cpp @@ -127,6 +127,7 @@ FImageSource *PatchImage_TryCreate(FileReader & file, int lumpnum) { bool isalpha; + file.Seek(0, FileReader::SeekSet); int width = file.ReadUInt16(); int height = file.ReadUInt16(); int leftoffset = file.ReadInt16(); @@ -134,7 +135,6 @@ FImageSource *PatchImage_TryCreate(FileReader & file, int lumpnum) // quickly reject any lump which cannot be a texture without reading in all the data. if (height > 0 && height <= 2048 && width > 0 && width <= 2048 && width < file.GetLength() / 4 && abs(leftoffset) < 4096 && abs(topoffset) < 4096) { - file.Seek(0, FileReader::SeekSet); if (!CheckIfPatch(file, isalpha)) return NULL; file.Seek(8, FileReader::SeekSet); return new FPatchTexture(lumpnum, width, height, leftoffset, topoffset, isalpha);