MFC 201202:

Use reallocf() to simplify some logic.
This commit is contained in:
jhb 2010-01-12 18:47:40 +00:00
parent 86b77ddc73
commit 82ce19b086

View File

@ -499,7 +499,7 @@ search(u_long addr, action_fn *action)
{
int mib[6];
size_t needed;
char *lim, *buf, *newbuf, *next;
char *lim, *buf, *next;
struct rt_msghdr *rtm;
struct sockaddr_inarp *sin2;
struct sockaddr_dl *sdl;
@ -522,13 +522,9 @@ search(u_long addr, action_fn *action)
return 0;
buf = NULL;
for (;;) {
newbuf = realloc(buf, needed);
if (newbuf == NULL) {
if (buf != NULL)
free(buf);
buf = reallocf(buf, needed);
if (buf == NULL)
errx(1, "could not reallocate memory");
}
buf = newbuf;
st = sysctl(mib, 6, buf, &needed, NULL, 0);
if (st == 0 || errno != ENOMEM)
break;