Message ID | 20170201224129.29715-1-rth@twiddle.net |
---|---|
State | New |
Headers | show |
diff --git a/sysdeps/alpha/memchr.c b/sysdeps/alpha/memchr.c index 82c42c0..402088d 100644 --- a/sysdeps/alpha/memchr.c +++ b/sysdeps/alpha/memchr.c @@ -53,7 +53,10 @@ __memchr (const void *s, int xc, size_t n) /* Align the source, and decrement the count by the number of bytes searched in the first word. */ s_align = (const word *)((word)s & -8); - n += ((word)s & 7); + { + size_t inc = n + ((word)s & 7); + n = inc | -(inc < n); + } /* Deal with misalignment in the first word for the comparison. */ mask = (1ul << ((word)s & 7)) - 1;