From a4b70768b4d08683d16a1e8225411e429fb531d3 Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 16 May 2003 17:19:48 +0000 Subject: From: Gilad Arnold 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. --- zebra/zebra_rib.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'zebra/zebra_rib.c') 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); -- cgit v1.2.1