From 606b5354e63e5e4f5b6239002d9501fa8f33dcda Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Thu, 13 Jan 2022 17:46:54 +0300 Subject: [PATCH] engine: filesystem: fix loading ZIP files --- engine/common/filesystem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/common/filesystem.c b/engine/common/filesystem.c index 826430f4..2f75ce88 100644 --- a/engine/common/filesystem.c +++ b/engine/common/filesystem.c @@ -717,7 +717,7 @@ static zip_t *FS_LoadZip( const char *zipfile, int *error ) int numpackfiles = 0, i; zip_cdf_header_t header_cdf; zip_header_eocd_t header_eocd; - uint signature; + uint32_t signature; fs_offset_t filepos = 0, length; zipfile_t *info = NULL; char filename_buffer[MAX_SYSPATH]; @@ -794,7 +794,7 @@ static zip_t *FS_LoadZip( const char *zipfile, int *error ) lseek( zip->handle, filepos, SEEK_SET ); c = read( zip->handle, &signature, sizeof( signature ) ); - if( c != sizeof( signature ) || signature == ZIP_HEADER_EOCD ) + if( c == sizeof( signature ) && signature == ZIP_HEADER_EOCD ) break; filepos -= sizeof( char ); // step back one byte