Skip to content

Commit

Permalink
Merge pull request #16554 from donaldsharp/zebra_ensure_no_use_after_…
Browse files Browse the repository at this point in the history
…free

zebra: Ensure non-equal id's are not same nhg's
  • Loading branch information
ton31337 authored Aug 12, 2024
2 parents 423e807 + 5a1b61a commit 263eb6d
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions zebra/zebra_nhg.c
Original file line number Diff line number Diff line change
Expand Up @@ -525,9 +525,18 @@ bool zebra_nhg_hash_equal(const void *arg1, const void *arg2)
struct nexthop *nexthop1;
struct nexthop *nexthop2;

/* No matter what if they equal IDs, assume equal */
if (nhe1->id && nhe2->id && (nhe1->id == nhe2->id))
return true;
/* If both NHG's have id's then we can just know that
* they are either identical or not. This comparison
* is only ever used for hash equality. NHE's id
* is sufficient to distinguish them. This is especially
* true if NHG's are owned by an upper level protocol.
*/
if (nhe1->id && nhe2->id) {
if (nhe1->id == nhe2->id)
return true;

return false;
}

if (nhe1->type != nhe2->type)
return false;
Expand Down

0 comments on commit 263eb6d

Please sign in to comment.