getservbyport_r: fix out-of-bounds buffer read
[musl] / src / network / getservbyport_r.c
index b7f21c6..d3a22b8 100644 (file)
@@ -26,7 +26,7 @@ int getservbyport_r(int port, const char *prots,
        /* Align buffer */
        i = (uintptr_t)buf & sizeof(char *)-1;
        if (!i) i = sizeof(char *);
-       if (buflen < 3*sizeof(char *)-i)
+       if (buflen <= 3*sizeof(char *)-i)
                return ERANGE;
        buf += sizeof(char *)-i;
        buflen -= sizeof(char *)-i;