Memory Leak in api.c
Hey all,
I would like to report a memory leak detected with ASAN in api.c.
The leak can be trigged an input with invalid trailing UTF-8 octet, and one such input is attached.
To reproduce, simply run ./tests/run-parser-test-suite input.txt after building with ASAN (CFLAGS="-fsanitize=address -g -O1")
The ASAN report will look like:
Parse error: invalid trailing UTF-8 octet
=================================================================
==3391==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 50176 byte(s) in 5 object(s) allocated from:
#0 0x7ffff7682887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55555555bc75 in yaml_malloc /libyaml-asan/src/api.c:33
SUMMARY: AddressSanitizer: 50176 byte(s) leaked in 5 allocation(s).
Thanks!
The leak is actually caused by a missing yaml_parser_delete in tests/run-parser-test-suite.c.
That should be easy to fix, but is not a bug in libyaml itself.
But thanks to the report I also found a missing yaml_parser_delete in YAML-LibYAML: https://github.com/ingydotnet/yaml-libyaml-pm/pull/123
why did you close it?
why did you close it?
Sorry, I thought it has been fixed