diff options
author | paul <paul> | 2005-05-18 23:29:57 +0000 |
---|---|---|
committer | paul <paul> | 2005-05-18 23:29:57 +0000 |
commit | 2d021480398dced1f06bd90facb042dc69033a74 (patch) | |
tree | b9fa800d1d707af5b38790805f7122e560cdfa0a /lib/thread.c | |
parent | 2ee410d443a1ffcebdc7cfbdbc13efa76fd4dfa4 (diff) | |
download | quagga-2d021480398dced1f06bd90facb042dc69033a74.tar.bz2 quagga-2d021480398dced1f06bd90facb042dc69033a74.tar.xz |
2005-05-19 Paul Jakma <paul.jakma@sun.com>
* ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
a less serious one.
1: this function is supposed to lookup
entries in the oifs ospf_interface route_table and return either
an existing oi or NULL to indicate not found, its caller depends
on this, yet this function uses route_node_get which /always/
returns a route_node - one is created if none exists. Use
route_node_lookup instead. This should fix root cause of the
reports of the (ospf_add_to_if) assert being hit.
2: oi's are inserted into this table with prefixlength set to
/32 (indeed, it should be a hash table, not a route_table),
however prefixlength to lookup was not changed, if no valid entry
can be inserted other than /32, then nothng but /32 should be
looked up. This possibly only worked by fluke..
Fix confirmed by 2 reporters (one list, one IRC), definitely a
backport candidate once it has been incubated in HEAD for a while.
Thanks to Patrick Friedel and Ivan Warren for testing.
Diffstat (limited to 'lib/thread.c')
0 files changed, 0 insertions, 0 deletions