mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-03 18:47:14 +00:00
![]() The commands: router isis 1 mpls-te on no mpls-te on mpls-te on no mpls-te on ! Will crash Valgrind gives us this: ==652336== Invalid read of size 8 ==652336== at 0x49AB25C: typed_rb_min (typerb.c:495) ==652336== by 0x4943B54: vertices_const_first (link_state.h:424) ==652336== by 0x493DCE4: vertices_first (link_state.h:424) ==652336== by 0x493DADC: ls_ted_del_all (link_state.c:1010) ==652336== by 0x47E77B: isis_instance_mpls_te_destroy (isis_nb_config.c:1871) ==652336== by 0x495BE20: nb_callback_destroy (northbound.c:1131) ==652336== by 0x495B5AC: nb_callback_configuration (northbound.c:1356) ==652336== by 0x4958127: nb_transaction_process (northbound.c:1473) ==652336== by 0x4958275: nb_candidate_commit_apply (northbound.c:906) ==652336== by 0x49585B8: nb_candidate_commit (northbound.c:938) ==652336== by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64) ==652336== by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250) ==652336== Address 0x6f928e0 is 272 bytes inside a block of size 320 free'd ==652336== at 0x48399AB: free (vg_replace_malloc.c:538) ==652336== by 0x494BA30: qfree (memory.c:141) ==652336== by 0x493D99D: ls_ted_del (link_state.c:997) ==652336== by 0x493DC20: ls_ted_del_all (link_state.c:1018) ==652336== by 0x47E77B: isis_instance_mpls_te_destroy (isis_nb_config.c:1871) ==652336== by 0x495BE20: nb_callback_destroy (northbound.c:1131) ==652336== by 0x495B5AC: nb_callback_configuration (northbound.c:1356) ==652336== by 0x4958127: nb_transaction_process (northbound.c:1473) ==652336== by 0x4958275: nb_candidate_commit_apply (northbound.c:906) ==652336== by 0x49585B8: nb_candidate_commit (northbound.c:938) ==652336== by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64) ==652336== by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250) ==652336== Block was alloc'd at ==652336== at 0x483AB65: calloc (vg_replace_malloc.c:760) ==652336== by 0x494B6F8: qcalloc (memory.c:116) ==652336== by 0x493D7D2: ls_ted_new (link_state.c:967) ==652336== by 0x47E4DD: isis_instance_mpls_te_create (isis_nb_config.c:1832) ==652336== by 0x495BB29: nb_callback_create (northbound.c:1034) ==652336== by 0x495B547: nb_callback_configuration (northbound.c:1348) ==652336== by 0x4958127: nb_transaction_process (northbound.c:1473) ==652336== by 0x4958275: nb_candidate_commit_apply (northbound.c:906) ==652336== by 0x49585B8: nb_candidate_commit (northbound.c:938) ==652336== by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64) ==652336== by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250) ==652336== by 0x495D23E: nb_cli_apply_changes (northbound_cli.c:268) Let's null out the pointer. After this change. Valgrind no longer reports issues and isisd no longer crashes. Fixes: #10939 Signed-off-by: Donald Sharp <sharpd@nvidia.com> |
||
---|---|---|
.. | ||
.gitignore | ||
ChangeLog.opaque.txt | ||
Makefile | ||
ospf_abr.c | ||
ospf_abr.h | ||
ospf_api.c | ||
ospf_api.h | ||
ospf_apiserver.c | ||
ospf_apiserver.h | ||
ospf_asbr.c | ||
ospf_asbr.h | ||
ospf_ase.c | ||
ospf_ase.h | ||
ospf_bfd.c | ||
ospf_bfd.h | ||
ospf_dump_api.c | ||
ospf_dump_api.h | ||
ospf_dump.c | ||
ospf_dump.h | ||
ospf_errors.c | ||
ospf_errors.h | ||
ospf_ext.c | ||
ospf_ext.h | ||
ospf_flood.c | ||
ospf_flood.h | ||
ospf_gr_helper.c | ||
ospf_gr.c | ||
ospf_gr.h | ||
ospf_ia.c | ||
ospf_ia.h | ||
ospf_interface.c | ||
ospf_interface.h | ||
ospf_ism.c | ||
ospf_ism.h | ||
ospf_ldp_sync.c | ||
ospf_ldp_sync.h | ||
ospf_lsa.c | ||
ospf_lsa.h | ||
ospf_lsdb.c | ||
ospf_lsdb.h | ||
ospf_main.c | ||
ospf_memory.c | ||
ospf_memory.h | ||
ospf_neighbor.c | ||
ospf_neighbor.h | ||
ospf_network.c | ||
ospf_network.h | ||
ospf_nsm.c | ||
ospf_nsm.h | ||
ospf_opaque.c | ||
ospf_opaque.h | ||
ospf_packet.c | ||
ospf_packet.h | ||
ospf_ri.c | ||
ospf_ri.h | ||
ospf_route.c | ||
ospf_route.h | ||
ospf_routemap_nb_config.c | ||
ospf_routemap_nb.c | ||
ospf_routemap_nb.h | ||
ospf_routemap.c | ||
ospf_snmp.c | ||
ospf_spf.c | ||
ospf_spf.h | ||
ospf_sr.c | ||
ospf_sr.h | ||
ospf_te.c | ||
ospf_te.h | ||
ospf_ti_lfa.c | ||
ospf_ti_lfa.h | ||
ospf_vty.c | ||
ospf_vty.h | ||
ospf_zebra.c | ||
ospf_zebra.h | ||
OSPF-ALIGNMENT.txt | ||
ospfd.c | ||
ospfd.h | ||
subdir.am |