diff options
author | paul <paul> | 2003-05-16 17:19:48 +0000 |
---|---|---|
committer | paul <paul> | 2003-05-16 17:19:48 +0000 |
commit | 8e609ede0a0a93472c9dc9501e3077d509a04c0d (patch) | |
tree | 23b8935e3ab86cc2d8872de5ab7bffbb83c3786c /zebra/zebra_rib.c | |
parent | 143a953120b07e7f4347a21089020b15ac831ebe (diff) | |
download | quagga-8e609ede0a0a93472c9dc9501e3077d509a04c0d.tar.bz2 quagga-8e609ede0a0a93472c9dc9501e3077d509a04c0d.tar.xz |
From: Gilad Arnold <gilad.arnold@terayon.com>
Subject: [zebra 19084] Re: suspected memory leakage upon static route
I believe this is a more complete patch, it also addresses
allocating/freeing of nexthop->ifname string buffer (1) using
XSTRDUP/XFREE macros (thus correctly updating memory statistics), and
(2) for all nexthop->type cases that carry an ifname string.
Diffstat (limited to 'zebra/zebra_rib.c')
-rw-r--r-- | zebra/zebra_rib.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index f3b9fd65..1c381901 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -187,8 +187,8 @@ nexthop_delete (struct rib *rib, struct nexthop *nexthop) void nexthop_free (struct nexthop *nexthop) { - if (nexthop->type == NEXTHOP_TYPE_IFNAME && nexthop->ifname) - free (nexthop->ifname); + if (nexthop->ifname) + XFREE (0, nexthop->ifname); XFREE (MTYPE_NEXTHOP, nexthop); } @@ -215,7 +215,7 @@ nexthop_ifname_add (struct rib *rib, char *ifname) nexthop = XMALLOC (MTYPE_NEXTHOP, sizeof (struct nexthop)); memset (nexthop, 0, sizeof (struct nexthop)); nexthop->type = NEXTHOP_TYPE_IFNAME; - nexthop->ifname = strdup (ifname); + nexthop->ifname = XSTRDUP (0, ifname); nexthop_add (rib, nexthop); |