diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2006-06-01 22:29:48 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2006-06-01 22:29:48 +0000 |
commit | b7a0159fc6c686edaa6003f905b0b1068d913b97 (patch) | |
tree | 2a5245cce68d95861266337eb6954d916478c212 /usr.sbin/bgpd | |
parent | 530a0a4101a2a1c51bb63e18306153693a6595e6 (diff) |
Copy the pftableid in path_copy and correctly do the ref/unref dance in
path_copy and path_put. Diff from Kevin Brintnall, looks good henning@
Diffstat (limited to 'usr.sbin/bgpd')
-rw-r--r-- | usr.sbin/bgpd/rde_rib.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/rde_rib.c b/usr.sbin/bgpd/rde_rib.c index 30dc4256c1b..9e6202f4369 100644 --- a/usr.sbin/bgpd/rde_rib.c +++ b/usr.sbin/bgpd/rde_rib.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rde_rib.c,v 1.87 2006/05/28 23:24:15 claudio Exp $ */ +/* $OpenBSD: rde_rib.c,v 1.88 2006/06/01 22:29:47 claudio Exp $ */ /* * Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org> @@ -312,6 +312,8 @@ path_copy(struct rde_aspath *asp) nasp->origin = asp->origin; nasp->rtlabelid = asp->rtlabelid; rtlabel_ref(nasp->rtlabelid); + nasp->pftableid = asp->pftableid; + pftable_ref(nasp->pftableid); nasp->flags = asp->flags & ~F_ATTR_LINKED; attr_copy(nasp, asp); @@ -351,6 +353,7 @@ path_put(struct rde_aspath *asp) fatalx("path_put: linked object"); rtlabel_unref(asp->rtlabelid); + pftable_unref(asp->pftableid); aspath_put(asp->aspath); attr_freeall(asp); rdemem.path_cnt--; |