From aad200801cf7c07990afcb195b0cdc6cf1c7e417 Mon Sep 17 00:00:00 2001 From: Gabriel Ravier Date: Fri, 31 Jan 2020 23:55:59 +0100 Subject: [PATCH] Removed UB in PutArmsEnergy Signed-off-by: Gabriel Ravier --- src/MycParam.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/MycParam.cpp b/src/MycParam.cpp index fbe30c0c..76ea7283 100644 --- a/src/MycParam.cpp +++ b/src/MycParam.cpp @@ -271,6 +271,9 @@ void PutArmsEnergy(BOOL flash) RECT rcExpFlash = {40, 80, 80, 88}; int lv = gArmsData[gSelectedArms].level - 1; + if (lv < 0) // Detect the case where the level is 0 (no weapon) + lv = 0; // Set lv to a safe value + int arms_code = gArmsData[gSelectedArms].code; int exp_now = gArmsData[gSelectedArms].exp; int exp_next = gArmsLevelTable[arms_code].exp[lv];