From 17d3e4a60fbe0fb9d56f953f0253e04f0a2d0db4 Mon Sep 17 00:00:00 2001 From: Cloudwalk Date: Fri, 24 Mar 2023 09:54:31 -0400 Subject: [PATCH] fs: Use unsigned short for filename size Also remove namesize < 0 check as this is no longer possible --- fs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs.c b/fs.c index cae6d309..25789e02 100644 --- a/fs.c +++ b/fs.c @@ -683,7 +683,7 @@ static int PK3_BuildFileList (pack_t *pack, const pk3_endOfCentralDir_t *eocd) return -1; } - namesize = BuffLittleShort (&ptr[28]); // filename length + namesize = (unsigned short)BuffLittleShort (&ptr[28]); // filename length // Check encryption, compression, and attributes // 1st uint8 : general purpose bit flag @@ -700,7 +700,7 @@ static int PK3_BuildFileList (pack_t *pack, const pk3_endOfCentralDir_t *eocd) if ((ptr[8] & 0x21) == 0 && (ptr[38] & 0x18) == 0) { // Still enough bytes for the name? - if (namesize < 0 || remaining < namesize || namesize >= (int)sizeof (*pack->files)) + if (remaining < namesize || namesize >= (int)sizeof (*pack->files)) { Mem_Free (central_dir); return -1; -- 2.39.2