]> git.proxmox.com Git - mirror_frr.git/commit
bgpd: Fix crash when showing filtered routes
authorPascal Mathis <mail@pascalmathis.com>
Thu, 14 Jun 2018 17:40:36 +0000 (19:40 +0200)
committerPascal Mathis <mail@pascalmathis.com>
Thu, 14 Jun 2018 22:08:46 +0000 (00:08 +0200)
commit1f2263be24b7b5be3fa0d889bd6605d2d3214501
tree793408ccc23b09e5ae1985382917f02eb7876b82
parente4a374681d83a495472500a9a3dbeee12de089f8
bgpd: Fix crash when showing filtered routes

This commit fixes the issue mentioned in #2419, which is caused by a
double-free. The problem of the current implementation is that
*bgp_input_modifier* already frees the passed attributes under specific
circumstances, which can then lead to a double-free as *bgp_attr_undup*
does not check if the attributes are set to NULL.

As it is not transparent to the function caller if the attributes get
freed or not and the similar function *bgp_output_modifier* also does
not flush the passed attributes, the line has been removed altogether.

All callers of *bgp_input_modifier* already deal by themself with
freeing/flushing/unduping BGP attributes, so it is safe to remove.

Signed-off-by: Pascal Mathis <mail@pascalmathis.com>
bgpd/bgp_route.c