From e02b20a3d3a9241dbd34e127609639737e8ba7c9 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Sun, 22 Mar 2015 14:59:14 -0500 Subject: cpukit/libmisc/utf8proc/utf8proc.c: Avoid overflow --- cpukit/libmisc/utf8proc/utf8proc.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'cpukit') diff --git a/cpukit/libmisc/utf8proc/utf8proc.c b/cpukit/libmisc/utf8proc/utf8proc.c index 520760790c..19fd271eb9 100644 --- a/cpukit/libmisc/utf8proc/utf8proc.c +++ b/cpukit/libmisc/utf8proc/utf8proc.c @@ -145,8 +145,13 @@ ssize_t utf8proc_iterate( (uc >= 0xFDD0 && uc < 0xFDF0)) uc = -1; break; case 4: +#if defined(__rtems__) + uc = (((int32_t)str[0] & 0x07) << 18) + (((int32_t)str[1] & 0x3F) << 12) + + (((int32_t)str[2] & 0x3F) << 6) + (str[3] & 0x3F); +#else uc = ((str[0] & 0x07) << 18) + ((str[1] & 0x3F) << 12) + ((str[2] & 0x3F) << 6) + (str[3] & 0x3F); +#endif if (uc < 0x10000 || uc >= 0x110000) uc = -1; break; } -- cgit v1.2.3