From 252f1b54648430b1189c7811defe8ebce6441bb2 Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sun, 9 Oct 2022 13:35:35 +0900 Subject: [PATCH] Fix out-of-bounds access in MsgSkip HLL Toushin Toshi 3 calls MsgSkip.{Get,Set}Flag with msgnum = -1. --- src/hll/MsgSkip.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hll/MsgSkip.c b/src/hll/MsgSkip.c index c35ed46..257f379 100644 --- a/src/hll/MsgSkip.c +++ b/src/hll/MsgSkip.c @@ -80,14 +80,14 @@ static int MsgSkip_Init(struct string *name) static void MsgSkip_SetFlag(int msgnum) { - if (msgnum >= nr_flags) + if (msgnum < 0 || msgnum >= nr_flags) return; flags[msgnum] = 1; } static int MsgSkip_GetFlag(int msgnum) { - if (msgnum >= nr_flags) + if (msgnum < 0 || msgnum >= nr_flags) return 0; return !!flags[msgnum]; }