Unfortunately I am not too good in C debugging. Maybe something in the option 
parsing is already broken.


ยป LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.8:./libdi.so.5  ./di -I ext4
FilesystemMountSizeUsedAvail%UsedType

=================================================================
==129349==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 5 byte(s) in 1 object(s) allocated from:
    #0 0x7fa7574f4c77 in malloc 
../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
    #1 0x7fa757c8a7d6 in parseList /home-nvme/foo/di-5.0.13/dioptions.c:549
    #2 0x7fa757c8ad84 in processOptionsVal 
/home-nvme/foo/di-5.0.13/dioptions.c:478
    #3 0x7fa757c8965f in process_opt /home-nvme/foo/di-5.0.13/getoptn.c:261
    #4 0x7fa757c8965f in getoptn /home-nvme/foo/di-5.0.13/getoptn.c:354
    #5 0x7fa757c8b8b4 in processArgs /home-nvme/foo/di-5.0.13/dioptions.c:407
    #6 0x7fa757c8e4a8 in di_get_options /home-nvme/foo/di-5.0.13/dioptions.c:281
    #7 0x7fa757c81c98 in di_process_options /home-nvme/foo/di-5.0.13/dilib.c:204
    #8 0x55ed95ea23a1 in main /home-nvme/foo/di-5.0.13/di.c:163
    #9 0x7fa757233ca7 in __libc_start_call_main 
../sysdeps/nptl/libc_start_call_main.h:58

SUMMARY: AddressSanitizer: 5 byte(s) leaked in 1 allocation(s).


otherwise this is the best bt i can offer:


#8  __GI___libc_free (mem=0x55555555d624) at ./malloc/malloc.c:3476
        ar_ptr = 0x7ffff7f7dac0 <main_arena>
        p = 0x55555555d614
        err = 2
#9  0x00007ffff7fb4834 in dinum_clear (r=0x7fffffffa490) at 
/home-nvme/foo/di-5.0.13/dimath.h:118
No locals.
#10 checkDiskQuotas (di_data=di_data@entry=0x55555555c430) at 
/home-nvme/foo/di-5.0.13/dilib.c:1161
        i = <optimized out>
        j = 0
        uid = 1000
        gid = 1000
        diqinfo = {
          filesystem = 0xffffffffffffffff <error: Cannot access memory at address 
0xffffffffffffffff>,
          mountpt = 0x3000055e3f0 <error: Cannot access memory at address 
0x3000055e3f0>,
          fstype = 0x0,
          uid = 1432437704,
          gid = 21845,
          values = {{{
                _mp_alloc = 46,
                _mp_size = 0,
                _mp_d = 0x55555555d624
              }}, {{
                _mp_alloc = 1432438072,
                _mp_size = 21845,
                _mp_d = 0x1
              }}, {{
                _mp_alloc = -134500720,
                _mp_size = 32767,
                _mp_d = 0x7ffff7fb4163 <di_sort_disk_info+787>
              }}, {{
                _mp_alloc = 0,
                _mp_size = 0,
                _mp_d = 0x55555555d624
              }}, {{
                _mp_alloc = 0,
                _mp_size = 19,
                _mp_d = 0x5555556158a0
              }}}
        }
        diopts = 0x55555555c5e0
#11 0x00007ffff7fb61b8 in di_get_all_disk_info 
(tdi_data=tdi_data@entry=0x55555555c430) at /home-nvme/foo/di-5.0.13/dilib.c:337
        di_data = 0x55555555c430
        diopts = 0x55555555c5e0
        hasLoop = <optimized out>
#12 0x0000555555556310 in main (argc=3, argv=0x7fffffffa848) at 
/home-nvme/foo/di-5.0.13/di.c:189
        di_data = 0x55555555c430
        exitflag = <optimized out>

Reply via email to