From f2d849bd46d52c7a67220f22c97c5f9b469448d3 Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Sat, 18 Mar 2023 19:44:13 +1100 Subject: [PATCH] pppd/tty.c: Use unsigned constants for ACCM calculations Use unsigned constants to avoid integer overflows when shifting, and because xmit_accm[] is an array of unsigned values. Signed-off-by: Paul Mackerras --- pppd/tty.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pppd/tty.c b/pppd/tty.c index 1278781..cef4ff7 100644 --- a/pppd/tty.c +++ b/pppd/tty.c @@ -418,7 +418,7 @@ setescape(char **argv) ppp_option_error("can't escape character 0x%x", n); ret = 0; } else - xmit_accm[n >> 5] |= 1 << (n & 0x1F); + xmit_accm[n >> 5] |= 1U << (n & 0x1F); while (*p == ',' || *p == ' ') ++p; } @@ -435,7 +435,7 @@ printescape(struct option *opt, void (*printer)(void *, char *, ...), void *arg) for (n = 0; n < 256; ++n) { if (n == 0x7d) n += 2; /* skip 7d, 7e */ - if (xmit_accm[n >> 5] & (1 << (n & 0x1f))) { + if (xmit_accm[n >> 5] & (1U << (n & 0x1f))) { if (!first) printer(arg, ","); else @@ -454,7 +454,7 @@ void tty_init(void) { ppp_add_notify(NF_PID_CHANGE, maybe_relock, 0); the_channel = &tty_channel; - xmit_accm[3] = 0x60000000; + xmit_accm[3] = 0x60000000U; } /* -- 2.39.2