Address regressions in SA-16:37.libc.
PR: 215105 Submitted by: <jtd2004a sbcglobal.net>
This commit is contained in:
parent
109005cc14
commit
faf19a69a6
@ -125,7 +125,7 @@ link_ntoa(const struct sockaddr_dl *sdl)
|
||||
static char obuf[64];
|
||||
_Static_assert(sizeof(obuf) >= IFNAMSIZ + 20, "obuf is too small");
|
||||
char *out;
|
||||
const char *in, *inlim;
|
||||
const u_char *in, *inlim;
|
||||
int namelen, i, rem;
|
||||
|
||||
namelen = (sdl->sdl_nlen <= IFNAMSIZ) ? sdl->sdl_nlen : IFNAMSIZ;
|
||||
@ -142,11 +142,11 @@ link_ntoa(const struct sockaddr_dl *sdl)
|
||||
}
|
||||
}
|
||||
|
||||
in = (const char *)sdl->sdl_data + sdl->sdl_nlen;
|
||||
in = (const u_char *)sdl->sdl_data + sdl->sdl_nlen;
|
||||
inlim = in + sdl->sdl_alen;
|
||||
|
||||
while (in < inlim && rem > 1) {
|
||||
if (in != (const char *)sdl->sdl_data + sdl->sdl_nlen) {
|
||||
if (in != (const u_char *)sdl->sdl_data + sdl->sdl_nlen) {
|
||||
*out++ = '.';
|
||||
rem--;
|
||||
}
|
||||
@ -154,15 +154,14 @@ link_ntoa(const struct sockaddr_dl *sdl)
|
||||
if (i > 0xf) {
|
||||
if (rem < 3)
|
||||
break;
|
||||
*out++ = hexlist[i >> 4];
|
||||
*out++ = hexlist[i & 0xf];
|
||||
i >>= 4;
|
||||
*out++ = hexlist[i];
|
||||
rem -= 2;
|
||||
} else {
|
||||
if (rem < 2)
|
||||
break;
|
||||
*out++ = hexlist[i];
|
||||
rem++;
|
||||
rem--;
|
||||
}
|
||||
}
|
||||
*out = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user