From: Rich Felker Date: Sat, 4 Oct 2014 15:14:01 +0000 (-0400) Subject: fix handling of odd lengths in swab function X-Git-Tag: v1.1.5~12 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=dccbf4c809efc311aa37da71de70d04dfd8b0db3;p=oweals%2Fmusl.git fix handling of odd lengths in swab function this function is specified to leave the last byte with "unspecified disposition" when the length is odd, so for the most part correct programs should not be calling swab with odd lengths. however, doing so is permitted, and should not write past the end of the destination buffer. --- diff --git a/src/string/swab.c b/src/string/swab.c index 9ed6fcda..ace0f466 100644 --- a/src/string/swab.c +++ b/src/string/swab.c @@ -4,7 +4,7 @@ void swab(const void *restrict _src, void *restrict _dest, ssize_t n) { const char *src = _src; char *dest = _dest; - for (; n>0; n-=2) { + for (; n>1; n-=2) { dest[0] = src[1]; dest[1] = src[0]; dest += 2;