diff options
Diffstat (limited to 'ospf6d/ospf6_flood.c')
| -rw-r--r-- | ospf6d/ospf6_flood.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ospf6d/ospf6_flood.c b/ospf6d/ospf6_flood.c index a81d5222d6..98d3bbc519 100644 --- a/ospf6d/ospf6_flood.c +++ b/ospf6d/ospf6_flood.c @@ -389,7 +389,7 @@ void ospf6_flood_interface(struct ospf6_neighbor *from, struct ospf6_lsa *lsa, if (req == on->last_ls_req) { /* sanity check refcount */ assert(req->lock >= 2); - req = ospf6_lsa_unlock(req); + ospf6_lsa_unlock(&req); on->last_ls_req = NULL; } if (req) @@ -406,7 +406,7 @@ void ospf6_flood_interface(struct ospf6_neighbor *from, struct ospf6_lsa *lsa, zlog_debug( "Received is newer, remove requesting"); if (req == on->last_ls_req) { - req = ospf6_lsa_unlock(req); + ospf6_lsa_unlock(&req); on->last_ls_req = NULL; } if (req) @@ -1045,6 +1045,7 @@ void ospf6_receive_lsa(struct ospf6_neighbor *from, zlog_debug( "%s, GraceLSA doesn't exist in lsdb, so discarding GraceLSA", __func__); + ospf6_lsa_delete(new); return; } } else { |
