aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2009-12-29 15:48:04 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2009-12-29 15:48:04 +0000
commitc34169d468a7813bc9f305b6648335c359197dd4 (patch)
tree831dfa8f83bedcddcee8fad9a5325c2ae25be883
parent5d2874abdda9d9a7209a68e5cbac409f2330464a (diff)
downloadsrc-c34169d468a7813bc9f305b6648335c359197dd4.tar.gz
src-c34169d468a7813bc9f305b6648335c359197dd4.zip
Use reallocf() to simplify some logic.
MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=201202
-rw-r--r--usr.sbin/arp/arp.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/usr.sbin/arp/arp.c b/usr.sbin/arp/arp.c
index 8a3410fd8f82..2982f48bec41 100644
--- a/usr.sbin/arp/arp.c
+++ b/usr.sbin/arp/arp.c
@@ -493,7 +493,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;
@@ -516,13 +516,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;