From 4fd9ccaa54e1aebde1e4b95fb0163b699fd7bcc8 Mon Sep 17 00:00:00 2001 From: Stuart Caie Date: Tue, 6 Feb 2018 23:17:30 +0000 Subject: [PATCH] Fix off-by-one error in chmd TOLOWER() fallback --- libmspack/ChangeLog | 5 +++++ libmspack/mspack/chmd.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libmspack/ChangeLog b/libmspack/ChangeLog index 44cf81a..74354ac 100644 --- a/libmspack/ChangeLog +++ b/libmspack/ChangeLog @@ -1,3 +1,8 @@ +2018-02-06 Stuart Caie + + * chmd.c: fixed an off-by-one error in the TOLOWER() macro, reported + by Dmitry Glavatskikh. Thanks Dmitry! + 2017-11-26 Stuart Caie * kwajd_read_headers(): fix up the logic of reading the filename and diff --git a/libmspack/mspack/chmd.c b/libmspack/mspack/chmd.c index 1a486c8..221784b 100644 --- a/libmspack/mspack/chmd.c +++ b/libmspack/mspack/chmd.c @@ -831,7 +831,7 @@ static int search_chunk(struct mschmd_header *chm, # endif # define TOLOWER(x) tolower(x) #else -# define TOLOWER(x) (((x)<0||(x)>256)?(x):mspack_tolower_map[(x)]) +# define TOLOWER(x) (((x)<0||(x)>255)?(x):mspack_tolower_map[(x)]) /* Map of char -> lowercase char for the first 256 chars. Generated with: * LC_CTYPE=en_GB.utf-8 perl -Mlocale -le 'print map{ord(lc chr).","} 0..255' */