From b338d4a037c9f5e50c3734aeda5d8efab8793be3 Mon Sep 17 00:00:00 2001 From: harry Date: Wed, 25 Jan 2023 20:36:32 -0500 Subject: [PATCH] Fix for UBSAN error: left shift of negative value --- src/file.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/file.cpp b/src/file.cpp index 017495a3..74091a52 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -315,9 +315,9 @@ FCEUFILE * FCEU_fopen(const char *path, const char *ipsfn, const char *mode, cha { uint32 magic; - magic = fp->fgetc(); - magic|=fp->fgetc()<<8; - magic|=fp->fgetc()<<16; + magic = (fp->fgetc() & 0x00ff); + magic|= (fp->fgetc() & 0x00ff) << 8; + magic|= (fp->fgetc() & 0x00ff) << 16; fp->fseek(0,SEEK_SET); if(magic==0x088b1f) {