frr icon indicating copy to clipboard operation
frr copied to clipboard

ISISd (IPv4) LeakSanitizer: detected memory leaks

Open mwinter-osr opened this issue 5 years ago • 2 comments

Found in FRR master as of 12/16/2019, Git sha 8887295

Issue found while running the Ixia ANVL Compliance Tests for ISIS on IPv4

==25667==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 14304 byte(s) in 596 object(s) allocated from:
    #0 0x7f72a0af4602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
    #1 0x7f72a06e8380 in qmalloc lib/memory.c:105
    #2 0x44f6fa in copy_tlv_router_cap isisd/isis_tlvs.c:2587
    #3 0x45613f in pack_tlvs isisd/isis_tlvs.c:3841
    #4 0x45b531 in isis_fragment_tlvs isisd/isis_tlvs.c:3916
    #5 0x423dd7 in lsp_build isisd/isis_lsp.c:1108
    #6 0x42ac6a in lsp_regenerate isisd/isis_lsp.c:1247
    #7 0x42ac6a in lsp_refresh isisd/isis_lsp.c:1327
    #8 0x7f72a074d845 in thread_call lib/thread.c:1549
    #9 0x7f72a06df6a7 in frr_run lib/libfrr.c:1093
    #10 0x4110d8 in main isisd/isis_main.c:253
    #11 0x7f72a003d82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f72a0af4602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
    #1 0x7f72a06e8380 in qmalloc lib/memory.c:105
    #2 0x44f6fa in copy_tlv_router_cap isisd/isis_tlvs.c:2587
    #3 0x45613f in pack_tlvs isisd/isis_tlvs.c:3841
    #4 0x45b531 in isis_fragment_tlvs isisd/isis_tlvs.c:3916
    #5 0x423dd7 in lsp_build isisd/isis_lsp.c:1108
    #6 0x42a0f3 in lsp_generate isisd/isis_lsp.c:1180
    #7 0x46bf78 in isis_instance_area_address_create isisd/isis_nb_config.c:183
    #8 0x7f72a06f83c7 in nb_callback_configuration lib/northbound.c:835
    #9 0x7f72a06f8c04 in nb_transaction_process lib/northbound.c:1003
    #10 0x7f72a06f90e2 in nb_candidate_commit_apply lib/northbound.c:708
    #11 0x7f72a06f92e2 in nb_candidate_commit lib/northbound.c:738
    #12 0x7f72a06ff106 in nb_cli_apply_changes lib/northbound_cli.c:172
    #13 0x7f72a069753d in cmd_execute_command_real lib/command.c:1073
    #14 0x7f72a069bb1e in cmd_execute_command lib/command.c:1132
    #15 0x7f72a069be8e in cmd_execute lib/command.c:1288
    #16 0x7f72a0759523 in vty_command lib/vty.c:516
    #17 0x7f72a07599ff in vty_execute lib/vty.c:1285
    #18 0x7f72a07604f9 in vtysh_read lib/vty.c:2119
    #19 0x7f72a074d845 in thread_call lib/thread.c:1549
    #20 0x7f72a06df6a7 in frr_run lib/libfrr.c:1093
    #21 0x4110d8 in main isisd/isis_main.c:253
    #22 0x7f72a003d82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f72a0af4602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
    #1 0x7f72a06e8380 in qmalloc lib/memory.c:105
    #2 0x44f6fa in copy_tlv_router_cap isisd/isis_tlvs.c:2587
    #3 0x45613f in pack_tlvs isisd/isis_tlvs.c:3841
    #4 0x45b531 in isis_fragment_tlvs isisd/isis_tlvs.c:3916
    #5 0x423dd7 in lsp_build isisd/isis_lsp.c:1108
    #6 0x42a0f3 in lsp_generate isisd/isis_lsp.c:1180
    #7 0x46bf4b in isis_instance_area_address_create isisd/isis_nb_config.c:185
    #8 0x7f72a06f83c7 in nb_callback_configuration lib/northbound.c:835
    #9 0x7f72a06f8c04 in nb_transaction_process lib/northbound.c:1003
    #10 0x7f72a06f90e2 in nb_candidate_commit_apply lib/northbound.c:708
    #11 0x7f72a06f92e2 in nb_candidate_commit lib/northbound.c:738
    #12 0x7f72a06ff106 in nb_cli_apply_changes lib/northbound_cli.c:172
    #13 0x7f72a069753d in cmd_execute_command_real lib/command.c:1073
    #14 0x7f72a069bb1e in cmd_execute_command lib/command.c:1132
    #15 0x7f72a069be8e in cmd_execute lib/command.c:1288
    #16 0x7f72a0759523 in vty_command lib/vty.c:516
    #17 0x7f72a07599ff in vty_execute lib/vty.c:1285
    #18 0x7f72a07604f9 in vtysh_read lib/vty.c:2119
    #19 0x7f72a074d845 in thread_call lib/thread.c:1549
    #20 0x7f72a06df6a7 in frr_run lib/libfrr.c:1093
    #21 0x4110d8 in main isisd/isis_main.c:253
    #22 0x7f72a003d82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

SUMMARY: AddressSanitizer: 14352 byte(s) leaked in 598 allocation(s).

and

==25732==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 528 byte(s) in 22 object(s) allocated from:
    #0 0x7f5a9b381602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
    #1 0x7f5a9af75380 in qmalloc lib/memory.c:105
    #2 0x44f6fa in copy_tlv_router_cap isisd/isis_tlvs.c:2587
    #3 0x45613f in pack_tlvs isisd/isis_tlvs.c:3841
    #4 0x45b531 in isis_fragment_tlvs isisd/isis_tlvs.c:3916
    #5 0x423dd7 in lsp_build isisd/isis_lsp.c:1108
    #6 0x42ac6a in lsp_regenerate isisd/isis_lsp.c:1247
    #7 0x42ac6a in lsp_refresh isisd/isis_lsp.c:1327
    #8 0x7f5a9afda845 in thread_call lib/thread.c:1549
    #9 0x7f5a9af6c6a7 in frr_run lib/libfrr.c:1093
    #10 0x4110d8 in main isisd/isis_main.c:253
    #11 0x7f5a9a8ca82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f5a9b381602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
    #1 0x7f5a9af75380 in qmalloc lib/memory.c:105
    #2 0x44f6fa in copy_tlv_router_cap isisd/isis_tlvs.c:2587
    #3 0x45613f in pack_tlvs isisd/isis_tlvs.c:3841
    #4 0x45b531 in isis_fragment_tlvs isisd/isis_tlvs.c:3916
    #5 0x423dd7 in lsp_build isisd/isis_lsp.c:1108
    #6 0x42a0f3 in lsp_generate isisd/isis_lsp.c:1180
    #7 0x46bf78 in isis_instance_area_address_create isisd/isis_nb_config.c:183
    #8 0x7f5a9af853c7 in nb_callback_configuration lib/northbound.c:835
    #9 0x7f5a9af85c04 in nb_transaction_process lib/northbound.c:1003
    #10 0x7f5a9af860e2 in nb_candidate_commit_apply lib/northbound.c:708
    #11 0x7f5a9af862e2 in nb_candidate_commit lib/northbound.c:738
    #12 0x7f5a9af8c106 in nb_cli_apply_changes lib/northbound_cli.c:172
    #13 0x7f5a9af2453d in cmd_execute_command_real lib/command.c:1073
    #14 0x7f5a9af2907e in command_config_read_one_line lib/command.c:1330
    #15 0x7f5a9af294b5 in config_from_file lib/command.c:1390
    #16 0x7f5a9afee414 in vty_read_file lib/vty.c:2297
    #17 0x7f5a9afee414 in vty_read_config lib/vty.c:2513
    #18 0x7f5a9af6be81 in frr_config_read_in lib/libfrr.c:885
    #19 0x7f5a9afda845 in thread_call lib/thread.c:1549
    #20 0x7f5a9af6c6a7 in frr_run lib/libfrr.c:1093
    #21 0x4110d8 in main isisd/isis_main.c:253
    #22 0x7f5a9a8ca82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7f5a9b381602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
    #1 0x7f5a9af75380 in qmalloc lib/memory.c:105
    #2 0x44f6fa in copy_tlv_router_cap isisd/isis_tlvs.c:2587
    #3 0x45613f in pack_tlvs isisd/isis_tlvs.c:3841
    #4 0x45b531 in isis_fragment_tlvs isisd/isis_tlvs.c:3916
    #5 0x423dd7 in lsp_build isisd/isis_lsp.c:1108
    #6 0x42a0f3 in lsp_generate isisd/isis_lsp.c:1180
    #7 0x46bf4b in isis_instance_area_address_create isisd/isis_nb_config.c:185
    #8 0x7f5a9af853c7 in nb_callback_configuration lib/northbound.c:835
    #9 0x7f5a9af85c04 in nb_transaction_process lib/northbound.c:1003
    #10 0x7f5a9af860e2 in nb_candidate_commit_apply lib/northbound.c:708
    #11 0x7f5a9af862e2 in nb_candidate_commit lib/northbound.c:738
    #12 0x7f5a9af8c106 in nb_cli_apply_changes lib/northbound_cli.c:172
    #13 0x7f5a9af2453d in cmd_execute_command_real lib/command.c:1073
    #14 0x7f5a9af2907e in command_config_read_one_line lib/command.c:1330
    #15 0x7f5a9af294b5 in config_from_file lib/command.c:1390
    #16 0x7f5a9afee414 in vty_read_file lib/vty.c:2297
    #17 0x7f5a9afee414 in vty_read_config lib/vty.c:2513
    #18 0x7f5a9af6be81 in frr_config_read_in lib/libfrr.c:885
    #19 0x7f5a9afda845 in thread_call lib/thread.c:1549
    #20 0x7f5a9af6c6a7 in frr_run lib/libfrr.c:1093
    #21 0x4110d8 in main isisd/isis_main.c:253
    #22 0x7f5a9a8ca82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

SUMMARY: AddressSanitizer: 576 byte(s) leaked in 24 allocation(s).

mwinter-osr avatar Dec 18 '19 15:12 mwinter-osr

This bug still exists in dev/7.3 release candidate

mwinter-osr avatar Jan 31 '20 20:01 mwinter-osr

Fixed in #11656

00xc avatar Jul 26 '22 11:07 00xc