forked from Mirror/frr
bfdd: Use pass by reference for bfd_key_delete
Coverity is pointing out that bfd_key_delete is passing by value instead of reference for a very large structure. Double plus not good. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
6d80d0c595
commit
8119e167b0
|
@ -982,7 +982,7 @@ void bfd_session_free(struct bfd_session *bs)
|
|||
/* Remove session from data plane if any. */
|
||||
bfd_dplane_delete_session(bs);
|
||||
|
||||
bfd_key_delete(bs->key);
|
||||
bfd_key_delete(&bs->key);
|
||||
bfd_id_delete(bs->discrs.my_discr);
|
||||
|
||||
/* Remove observer if any. */
|
||||
|
@ -1999,11 +1999,11 @@ struct bfd_session *bfd_id_delete(uint32_t id)
|
|||
return hash_release(bfd_id_hash, &bs);
|
||||
}
|
||||
|
||||
struct bfd_session *bfd_key_delete(struct bfd_key key)
|
||||
struct bfd_session *bfd_key_delete(struct bfd_key *key)
|
||||
{
|
||||
struct bfd_session bs;
|
||||
|
||||
bs.key = key;
|
||||
bs.key = *key;
|
||||
|
||||
return hash_release(bfd_key_hash, &bs);
|
||||
}
|
||||
|
|
|
@ -701,7 +701,7 @@ struct bfd_session *bfd_id_lookup(uint32_t id);
|
|||
struct bfd_session *bfd_key_lookup(struct bfd_key *key);
|
||||
struct sbfd_reflector *sbfd_discr_lookup(uint32_t discr);
|
||||
struct bfd_session *bfd_id_delete(uint32_t id);
|
||||
struct bfd_session *bfd_key_delete(struct bfd_key key);
|
||||
struct bfd_session *bfd_key_delete(struct bfd_key *key);
|
||||
struct sbfd_reflector *sbfd_discr_delete(uint32_t discr);
|
||||
|
||||
bool bfd_id_insert(struct bfd_session *bs);
|
||||
|
|
Loading…
Reference in a new issue