Skip to content

Conversation

sorokin
Copy link
Contributor

@sorokin sorokin commented Mar 5, 2023

When running with -fsanitize=leak enabled nasm prints this error:

Direct leak of 504 byte(s) in 32 object(s) allocated from:
    #0 0x7f7274bf9867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x55a15e7bbbc4 in nasm_malloc nasmlib/alloc.c:55
    #2 0x55a15e7bc069 in nasm_strcat nasmlib/alloc.c:139
    #3 0x55a15e7f3968 in find_label asm/labels.c:235
    #4 0x55a15e7f61f7 in define_label asm/labels.c:462
    #5 0x55a15e7ff1ce in parse_line asm/parser.c:665
    #6 0x55a15e7b75f8 in assemble_file asm/nasm.c:1735
    #7 0x55a15e7b04e4 in main asm/nasm.c:719
    #8 0x7f7274311d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #9 0x7f7274311e3f in __libc_start_main_impl ../csu/libc-start.c:392
    #10 0x55a15e7abe04 in _start (/home/ivan/d/nasm/nasm+0x2e2e04)

This error was reproducible on struc.asm test.

The problem was that not all exit paths freed the allocated string.

When running with -fsanitize=leak enabled nasm prints this error:

Direct leak of 504 byte(s) in 32 object(s) allocated from:
    #0 0x7f7274bf9867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    netwide-assembler#1 0x55a15e7bbbc4 in nasm_malloc nasmlib/alloc.c:55
    netwide-assembler#2 0x55a15e7bc069 in nasm_strcat nasmlib/alloc.c:139
    netwide-assembler#3 0x55a15e7f3968 in find_label asm/labels.c:235
    netwide-assembler#4 0x55a15e7f61f7 in define_label asm/labels.c:462
    netwide-assembler#5 0x55a15e7ff1ce in parse_line asm/parser.c:665
    netwide-assembler#6 0x55a15e7b75f8 in assemble_file asm/nasm.c:1735
    netwide-assembler#7 0x55a15e7b04e4 in main asm/nasm.c:719
    netwide-assembler#8 0x7f7274311d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    netwide-assembler#9 0x7f7274311e3f in __libc_start_main_impl ../csu/libc-start.c:392
    netwide-assembler#10 0x55a15e7abe04 in _start (/home/ivan/d/nasm/nasm+0x2e2e04)

This error was reproducible on struc.asm test.

The problem was that not all exit paths freed the allocated
string.

Signed-off-by: Ivan Sorokin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant