Skip to content
  • Marc-André Lureau's avatar
    a865cebb
    blockjob: leak fix, remove from txn when failing early · a865cebb
    Marc-André Lureau authored
    
    
    This fixes leaks found by ASAN such as:
      GTESTER tests/test-blockjob
    =================================================================
    ==31442==ERROR: LeakSanitizer: detected memory leaks
    
    Direct leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f88483cba38 in __interceptor_calloc (/lib64/libasan.so.4+0xdea38)
        #1 0x7f8845e1bd77 in g_malloc0 ../glib/gmem.c:129
        #2 0x7f8845e1c04b in g_malloc0_n ../glib/gmem.c:360
        #3 0x5584d2732498 in block_job_txn_new /home/elmarco/src/qemu/blockjob.c:172
        #4 0x5584d2739b28 in block_job_create /home/elmarco/src/qemu/blockjob.c:973
        #5 0x5584d270ae31 in mk_job /home/elmarco/src/qemu/tests/test-blockjob.c:34
        #6 0x5584d270b1c1 in do_test_id /home/elmarco/src/qemu/tests/test-blockjob.c:57
        #7 0x5584d270b65c in test_job_ids /home/elmarco/src/qemu/tests/test-blockjob.c:118
        #8 0x7f8845e40b69 in test_case_run ../glib/gtestutils.c:2255
        #9 0x7f8845e40f29 in g_test_run_suite_internal ../glib/gtestutils.c:2339
        #10 0x7f8845e40fd2 in g_test_run_suite_internal ../glib/gtestutils.c:2351
        #11 0x7f8845e411e9 in g_test_run_suite ../glib/gtestutils.c:2426
        #12 0x7f8845e3fe72 in g_test_run ../glib/gtestutils.c:1692
        #13 0x5584d270d6e2 in main /home/elmarco/src/qemu/tests/test-blockjob.c:377
        #14 0x7f8843641f29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
    
    Add an assert to make sure that the job doesn't have associated txn before free().
    
    [Jeff Cody: N.B., used updated patch provided by John Snow]
    
    Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: default avatarJeff Cody <jcody@redhat.com>
    a865cebb
    blockjob: leak fix, remove from txn when failing early
    Marc-André Lureau authored
    
    
    This fixes leaks found by ASAN such as:
      GTESTER tests/test-blockjob
    =================================================================
    ==31442==ERROR: LeakSanitizer: detected memory leaks
    
    Direct leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x7f88483cba38 in __interceptor_calloc (/lib64/libasan.so.4+0xdea38)
        #1 0x7f8845e1bd77 in g_malloc0 ../glib/gmem.c:129
        #2 0x7f8845e1c04b in g_malloc0_n ../glib/gmem.c:360
        #3 0x5584d2732498 in block_job_txn_new /home/elmarco/src/qemu/blockjob.c:172
        #4 0x5584d2739b28 in block_job_create /home/elmarco/src/qemu/blockjob.c:973
        #5 0x5584d270ae31 in mk_job /home/elmarco/src/qemu/tests/test-blockjob.c:34
        #6 0x5584d270b1c1 in do_test_id /home/elmarco/src/qemu/tests/test-blockjob.c:57
        #7 0x5584d270b65c in test_job_ids /home/elmarco/src/qemu/tests/test-blockjob.c:118
        #8 0x7f8845e40b69 in test_case_run ../glib/gtestutils.c:2255
        #9 0x7f8845e40f29 in g_test_run_suite_internal ../glib/gtestutils.c:2339
        #10 0x7f8845e40fd2 in g_test_run_suite_internal ../glib/gtestutils.c:2351
        #11 0x7f8845e411e9 in g_test_run_suite ../glib/gtestutils.c:2426
        #12 0x7f8845e3fe72 in g_test_run ../glib/gtestutils.c:1692
        #13 0x5584d270d6e2 in main /home/elmarco/src/qemu/tests/test-blockjob.c:377
        #14 0x7f8843641f29 in __libc_start_main (/lib64/libc.so.6+0x20f29)
    
    Add an assert to make sure that the job doesn't have associated txn before free().
    
    [Jeff Cody: N.B., used updated patch provided by John Snow]
    
    Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: default avatarJeff Cody <jcody@redhat.com>
Loading