View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005847 | libextractor | extract | public | 2019-08-23 12:06 | 2024-02-29 22:47 |
Reporter | jianglin | Assigned To | Christian Grothoff | ||
Priority | high | Severity | trivial | Reproducibility | always |
Status | closed | Resolution | not fixable | ||
Platform | linux | OS | ubuntu | OS Version | 16.04 |
Product Version | 1.9 | ||||
Target Version | 1.10 | Fixed in Version | 1.10 | ||
Summary | 0005847: LeakSanitizer: detected memory leaks | ||||
Description | An issue was discovered in libextractor 1.9, LeakSanitizer detected memory leaks when I trying to run plugins in-process. | ||||
Steps To Reproduce | Run the executable program extract with the parameter -i the poc is attached ./bin/extract -i pwd-libextractor-extract-00-00000015-20190814 | ||||
Additional Information | Leaking the memory, the running speed will gradually slow down or even stop running. So it is better to fix it. | ||||
Tags | No tags attached. | ||||
Attached Files | do_extract@extractor.c_582_memory leak.md (5,975 bytes)
## do_extract@extractor.c_582_memory leak ### description An issue was discovered in libextractor 1.9, There is a/an memory leak in function do_extract at @extractor.c:582:7 ### commandline extract -i @@ /dev/null ### bug report ```txt ➜ fuzz-libextractor git:(master) ✗ ./installed-asan/bin/extract -i crashes/crashes/pwd-libextractor-extract-00-00000015-20190814 Keywords for file crashes/crashes/pwd-libextractor-extract-00-00000015-20190814: embedded filename - ��������������� �� ================================================================= ==109446==ERROR: LeakSanitizer: detected memory leaks Direct leak of 48 byte(s) in 3 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b41ff5810 in g_malloc0 (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x4f810) Indirect leak of 20728 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b46778722 (<unknown module>) #2 0x7f6b4d44010e in do_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:582:7 #3 0x7f6b4d43e1fa in EXTRACTOR_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:661:3 Indirect leak of 20208 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b4678e3e2 (<unknown module>) Indirect leak of 2576 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b46783976 (<unknown module>) Indirect leak of 2144 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b467675e4 (<unknown module>) #2 0x7f6b4d44010e in do_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:582:7 #3 0x7f6b4d43e1fa in EXTRACTOR_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:661:3 Indirect leak of 1088 byte(s) in 2 object(s) allocated from: #0 0x4dedf0 in realloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:107 #1 0x7f6b46799f4c (<unknown module>) Indirect leak of 1072 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b4675d1d2 (<unknown module>) Indirect leak of 1056 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b46796792 (<unknown module>) Indirect leak of 448 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b4677e116 (<unknown module>) Indirect leak of 432 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b467877c6 (<unknown module>) Indirect leak of 424 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b46798d22 (<unknown module>) #2 0x7f6b4d44010e in do_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:582:7 #3 0x7f6b4d43e1fa in EXTRACTOR_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:661:3 Indirect leak of 424 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b46798c52 (<unknown module>) #2 0x7f6b4d44010e in do_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:582:7 #3 0x7f6b4d43e1fa in EXTRACTOR_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:661:3 Indirect leak of 424 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b46792022 (<unknown module>) #2 0x7f6b4d44010e in do_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:582:7 #3 0x7f6b4d43e1fa in EXTRACTOR_extract /home/jl/work/up_projects/fuzz-libextractor/libextractor/libextractor/src/main/extractor.c:661:3 Indirect leak of 144 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b4678a0c2 (<unknown module>) Indirect leak of 80 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b4677f9d2 (<unknown module>) Indirect leak of 56 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b46779372 (<unknown module>) Indirect leak of 24 byte(s) in 1 object(s) allocated from: #0 0x4deba0 in calloc /home/jl/deploy/llvm-6.0.0/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:97 #1 0x7f6b46767926 (<unknown module>) SUMMARY: AddressSanitizer: 51376 byte(s) leaked in 20 allocation(s). ``` ### others from fuzz project pwd-libextractor-extract-00 crash name pwd-libextractor-extract-00-00000016-20190817 Auto-generated by pyspider at 2019-08-17 14:51:38 please send email to teamseri0us360@gmail.com if you have any questions. pwd-libextractor-extract-00-00000015-20190814 (17,391 bytes)
������������������ �� % � % ���� � � � ���� � ���� * [ � � � ���� # � � ���� � ���� � @ � , ���� T � ) ���� � � � � ( � � � " � � % � " ( ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ � � ( ���������� ( � ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������i�����������������������������������������������������������������������������������������������������������������������������������������������������������������������r�������������������������������������������������������������������������������������������������������������������������k����������������������������������������������������������������������������������������������������������������������������������������������������������� ���������������������������������������������������������������������������������������������������������������������������������������������� ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������l�������������������������������������������������������������������������������������������������������ŋ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������z������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������i������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������������������������������������� ����������������������������� | ||||
|
Your md report does not specify the allocation sites, as the plugin was unloaded. Analyzing things with valgrind suggests that the issue is in the libgst class initialization, which: 1) is harmless, as it will only be done once per process under typical conditions; 2) cannot be fixed, as it concerns fundamental class loading aspects of glib 3) doesn't even matter in normal execution of libextractor, as the leak is in a fork'ed process, and thus even in the worst case will be released on process termination, which is exactly the earliest point when the RAM could be freed. Hence: not fixable, and also harmless. |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-08-23 12:06 | jianglin | New Issue | |
2019-08-23 12:06 | jianglin | Tag Attached: Error | |
2019-08-23 12:06 | jianglin | File Added: do_extract@extractor.c_582_memory leak.md | |
2019-08-23 12:06 | jianglin | File Added: pwd-libextractor-extract-00-00000015-20190814 | |
2019-08-24 00:02 | Christian Grothoff | Note Added: 0014806 | |
2019-08-24 00:02 | Christian Grothoff | Assigned To | => Christian Grothoff |
2019-08-24 00:02 | Christian Grothoff | Severity | minor => trivial |
2019-08-24 00:02 | Christian Grothoff | Status | new => closed |
2019-08-24 00:02 | Christian Grothoff | Resolution | open => not fixable |
2019-08-24 00:02 | Christian Grothoff | Fixed in Version | => 1.10 |
2019-08-24 00:02 | Christian Grothoff | Target Version | => 1.10 |
2019-08-24 00:02 | Christian Grothoff | Steps to Reproduce Updated | |
2024-02-29 22:47 | Christian Grothoff | Tag Detached: Error |