]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
OSPF: Fix reading from freed memory
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Wed, 9 Mar 2016 16:37:44 +0000 (17:37 +0100)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Wed, 23 Mar 2016 01:21:42 +0000 (02:21 +0100)
Thanks to Pavel Tvrdik for noticing it.

proto/ospf/neighbor.c

index c5d44dec85093be5c3e1919d81c9156ba5ae42fd..0223ccdf211b3f2b39fb1bd7352fc2bbf7f1a96c 100644 (file)
@@ -108,6 +108,7 @@ ospf_neigh_down(struct ospf_neighbor *n)
 {
   struct ospf_iface *ifa = n->ifa;
   struct ospf_proto *p = ifa->oa->po;
+  u32 rid = n->rid;
 
   if ((ifa->type == OSPF_IT_NBMA) || (ifa->type == OSPF_IT_PTMP))
   {
@@ -121,7 +122,7 @@ ospf_neigh_down(struct ospf_neighbor *n)
   rem_node(NODE n);
   rfree(n->pool);
 
-  OSPF_TRACE(D_EVENTS, "Neighbor %R on %s removed", n->rid, ifa->ifname);
+  OSPF_TRACE(D_EVENTS, "Neighbor %R on %s removed", rid, ifa->ifname);
 }
 
 /**