2003-11-10 Claus Endres <claus@endresconsulting.com>

* ospfd/ospf_interface.c: (ospf_if_table_lookup) grab reference to
          rn->info /before/ calling route_unlock_node() as some systems
          may deliberately poison freed memory, eg FreeBSD 5.1.
          see [quagga-dev 417].
This commit is contained in:
paul 2003-11-10 23:56:29 +00:00
parent 1302bdc7eb
commit b5f2c1267e

View File

@ -131,13 +131,15 @@ ospf_if_table_lookup (struct interface *ifp, struct prefix *prefix)
{
struct prefix p;
struct route_node *rn;
struct ospf_interface *rninfo;
p = *prefix;
rn = route_node_get (IF_OIFS (ifp), &p);
/* route_node_get implicitely locks */
rninfo = (struct ospf_interface *) rn->info;
route_unlock_node (rn);
return (struct ospf_interface *) rn->info;
return rninfo;
}
void