mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 02:46:26 +00:00
![]() After we call subgroup_announce_check(), we leave communities, large-communities that are modified by route-maps uninterned, and here we have a memory leak. ``` ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323:Direct leak of 80 byte(s) in 2 object(s) allocated from: ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #0 0x7f0858d90037 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #1 0x7f08589b15b2 in qcalloc lib/memory.c:105 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #2 0x561f5c4e08d2 in lcommunity_new bgpd/bgp_lcommunity.c:28 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #3 0x561f5c4e11d9 in lcommunity_dup bgpd/bgp_lcommunity.c:141 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #4 0x561f5c5c3b8b in route_set_lcommunity bgpd/bgp_routemap.c:2491 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #5 0x7f0858a177a5 in route_map_apply_ext lib/routemap.c:2675 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #6 0x561f5c5696f9 in subgroup_announce_check bgpd/bgp_route.c:2352 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #7 0x561f5c5fb728 in subgroup_announce_table bgpd/bgp_updgrp_adv.c:682 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #8 0x561f5c5fbd95 in subgroup_announce_route bgpd/bgp_updgrp_adv.c:765 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #9 0x561f5c5f6105 in peer_af_announce_route bgpd/bgp_updgrp.c:2187 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #10 0x561f5c5790be in bgp_announce_route_timer_expired bgpd/bgp_route.c:5032 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #11 0x7f0858a76e4e in thread_call lib/thread.c:1991 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #12 0x7f0858974c24 in frr_run lib/libfrr.c:1185 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #13 0x561f5c3e955d in main bgpd/bgp_main.c:505 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #14 0x7f08583a9d09 in __libc_start_main ../csu/libc-start.c:308 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323:Indirect leak of 144 byte(s) in 2 object(s) allocated from: ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #0 0x7f0858d8fe8f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #1 0x7f08589b1579 in qmalloc lib/memory.c:100 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #2 0x561f5c4e1282 in lcommunity_dup bgpd/bgp_lcommunity.c:144 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #3 0x561f5c5c3b8b in route_set_lcommunity bgpd/bgp_routemap.c:2491 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #4 0x7f0858a177a5 in route_map_apply_ext lib/routemap.c:2675 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #5 0x561f5c5696f9 in subgroup_announce_check bgpd/bgp_route.c:2352 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #6 0x561f5c5fb728 in subgroup_announce_table bgpd/bgp_updgrp_adv.c:682 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #7 0x561f5c5fbd95 in subgroup_announce_route bgpd/bgp_updgrp_adv.c:765 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #8 0x561f5c5f6105 in peer_af_announce_route bgpd/bgp_updgrp.c:2187 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #9 0x561f5c5790be in bgp_announce_route_timer_expired bgpd/bgp_route.c:5032 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #10 0x7f0858a76e4e in thread_call lib/thread.c:1991 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #11 0x7f0858974c24 in frr_run lib/libfrr.c:1185 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #12 0x561f5c3e955d in main bgpd/bgp_main.c:505 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- #13 0x7f08583a9d09 in __libc_start_main ../csu/libc-start.c:308 ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323- ./bgp_large_community.test_bgp_large_community_topo_2/r1.bgpd.asan.2465323-SUMMARY: AddressSanitizer: 224 byte(s) leaked in 4 allocation(s). ``` Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org> |
||
---|---|---|
.. | ||
rfapi | ||
rfp-example | ||
.gitignore | ||
bgp_addpath_types.h | ||
bgp_addpath.c | ||
bgp_addpath.h | ||
bgp_advertise.c | ||
bgp_advertise.h | ||
bgp_aspath.c | ||
bgp_aspath.h | ||
bgp_attr_evpn.c | ||
bgp_attr_evpn.h | ||
bgp_attr.c | ||
bgp_attr.h | ||
bgp_bfd.c | ||
bgp_bfd.h | ||
bgp_bmp.c | ||
bgp_bmp.h | ||
bgp_btoa.c | ||
bgp_clist.c | ||
bgp_clist.h | ||
bgp_community_alias.c | ||
bgp_community_alias.h | ||
bgp_community.c | ||
bgp_community.h | ||
bgp_conditional_adv.c | ||
bgp_conditional_adv.h | ||
bgp_damp.c | ||
bgp_damp.h | ||
bgp_debug.c | ||
bgp_debug.h | ||
bgp_dump.c | ||
bgp_dump.h | ||
bgp_ecommunity.c | ||
bgp_ecommunity.h | ||
bgp_encap_tlv.c | ||
bgp_encap_tlv.h | ||
bgp_encap_types.h | ||
bgp_errors.c | ||
bgp_errors.h | ||
bgp_evpn_mh.c | ||
bgp_evpn_mh.h | ||
bgp_evpn_private.h | ||
bgp_evpn_vty.c | ||
bgp_evpn_vty.h | ||
bgp_evpn.c | ||
bgp_evpn.h | ||
bgp_filter.c | ||
bgp_filter.h | ||
bgp_flowspec_private.h | ||
bgp_flowspec_util.c | ||
bgp_flowspec_util.h | ||
bgp_flowspec_vty.c | ||
bgp_flowspec.c | ||
bgp_flowspec.h | ||
bgp_fsm.c | ||
bgp_fsm.h | ||
bgp_io.c | ||
bgp_io.h | ||
bgp_keepalives.c | ||
bgp_keepalives.h | ||
bgp_label.c | ||
bgp_label.h | ||
bgp_labelpool.c | ||
bgp_labelpool.h | ||
bgp_lcommunity.c | ||
bgp_lcommunity.h | ||
bgp_mac.c | ||
bgp_mac.h | ||
bgp_main.c | ||
bgp_memory.c | ||
bgp_memory.h | ||
bgp_mpath.c | ||
bgp_mpath.h | ||
bgp_mplsvpn_snmp.c | ||
bgp_mplsvpn_snmp.h | ||
bgp_mplsvpn.c | ||
bgp_mplsvpn.h | ||
bgp_network.c | ||
bgp_network.h | ||
bgp_nexthop.c | ||
bgp_nexthop.h | ||
bgp_nht.c | ||
bgp_nht.h | ||
bgp_open.c | ||
bgp_open.h | ||
bgp_packet.c | ||
bgp_packet.h | ||
bgp_pbr.c | ||
bgp_pbr.h | ||
bgp_rd.c | ||
bgp_rd.h | ||
bgp_regex.c | ||
bgp_regex.h | ||
bgp_route.c | ||
bgp_route.h | ||
bgp_routemap_nb_config.c | ||
bgp_routemap_nb.c | ||
bgp_routemap_nb.h | ||
bgp_routemap.c | ||
bgp_rpki.c | ||
bgp_rpki.h | ||
bgp_script.c | ||
bgp_script.h | ||
bgp_snmp_bgp4.c | ||
bgp_snmp_bgp4.h | ||
bgp_snmp_bgp4v2.c | ||
bgp_snmp_bgp4v2.h | ||
bgp_snmp.c | ||
bgp_snmp.h | ||
bgp_table.c | ||
bgp_table.h | ||
bgp_trace.c | ||
bgp_trace.h | ||
bgp_updgrp_adv.c | ||
bgp_updgrp_packet.c | ||
bgp_updgrp.c | ||
bgp_updgrp.h | ||
bgp_vnc_types.h | ||
bgp_vpn.c | ||
bgp_vpn.h | ||
bgp_vty.c | ||
bgp_vty.h | ||
bgp_zebra.c | ||
bgp_zebra.h | ||
bgpd.c | ||
bgpd.h | ||
Makefile | ||
subdir.am |