Index: lib/libc/net/getservent.c =================================================================== --- lib/libc/net/getservent.c +++ lib/libc/net/getservent.c @@ -235,7 +235,7 @@ return (NS_RETURN); } aliases = (char **)_ALIGN(&buffer[resultbuflen + 1]); - aliases_size = (buffer + bufsize - (char *)aliases) / sizeof(char *); + aliases_size = buffer + bufsize - ((char *)aliases / sizeof(char *)); if (aliases_size < 1) { *errnop = ERANGE; return (NS_RETURN); Index: lib/libc/rpc/getrpcent.c =================================================================== --- lib/libc/rpc/getrpcent.c +++ lib/libc/rpc/getrpcent.c @@ -518,8 +518,7 @@ } aliases=(char **)_ALIGN(&buffer[resultbuflen+2]); - aliases_size = (buffer + bufsize - (char *)aliases) / - sizeof(char *); + aliases_size = buffer + bufsize - ((char *)aliases / sizeof(char *)); if (aliases_size < 1) { *errnop = ERANGE; rv = NS_RETURN;