From d89cab871231a82c0783ce520d692f08a32f2da6 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Tue, 8 Feb 2022 01:16:48 +0100 Subject: [PATCH] tests: Fix undefined behaviour. * tests/test2.c (main): Cast bytes to unsigned before shifting left. --- ChangeLog | 5 +++++ tests/test2.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 1667552..6c9d1d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2022-02-07 Bruno Haible + + tests: Fix undefined behaviour. + * tests/test2.c (main): Cast bytes to unsigned before shifting left. + 2022-01-05 Bruno Haible Release gperf-3.2. diff --git a/tests/test2.c b/tests/test2.c index c1c08cc..ecd3d18 100644 --- a/tests/test2.c +++ b/tests/test2.c @@ -45,7 +45,7 @@ main (int argc, char *argv[]) char *p = buf; while (fread (p, 2, 1, stdin) == 1) { - if ((p[0] << 8) + p[1] == '\n') + if (((unsigned char) p[0] << 8) + (unsigned char) p[1] == '\n') break; p += 2; }