From 6299f5e9149483251bbbcc8ad26cf29b6109e75c Mon Sep 17 00:00:00 2001 From: Sergey Kandaurov Date: Thu, 7 Jul 2016 21:02:28 +0300 Subject: Avoid left-shifting integers into the sign bit, which is undefined. Found with UndefinedBehaviorSanitizer. --- src/core/ngx_string.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/core') diff --git a/src/core/ngx_string.c b/src/core/ngx_string.c index cf665a4e8..7a73ef527 100644 --- a/src/core/ngx_string.c +++ b/src/core/ngx_string.c @@ -1563,7 +1563,7 @@ ngx_escape_uri(u_char *dst, u_char *src, size_t size, ngx_uint_t type) n = 0; while (size) { - if (escape[*src >> 5] & (1 << (*src & 0x1f))) { + if (escape[*src >> 5] & (1U << (*src & 0x1f))) { n++; } src++; @@ -1574,7 +1574,7 @@ ngx_escape_uri(u_char *dst, u_char *src, size_t size, ngx_uint_t type) } while (size) { - if (escape[*src >> 5] & (1 << (*src & 0x1f))) { + if (escape[*src >> 5] & (1U << (*src & 0x1f))) { *dst++ = '%'; *dst++ = hex[*src >> 4]; *dst++ = hex[*src & 0xf]; -- cgit