getservbyport_r: fix out-of-bounds buffer read
[musl] / src / string / swab.c
index b213288..ace0f46 100644 (file)
@@ -1,10 +1,10 @@
 #include <unistd.h>
 
-void swab(const void *_src, void *_dest, ssize_t n)
+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;