cesanta / mjs

Embedded JavaScript engine for C/C++
https://mongoose-os.com
Other
1.88k stars 172 forks source link

memory leaks in mjs.c #234

Open yiliang-neo opened 1 year ago

yiliang-neo commented 1 year ago

OS:Ubuntu18.04 TLS POC:https://github.com/yiliang-neo/POC/blob/main/mjs/POC-mjs-memory-leak Steps:

ASAN Info

==31581==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 891 byte(s) in 1 object(s) allocated from:

0 0x4abe30 in malloc /home/wyl/build/llvm_tools/llvm-11.0.0.src/projects/compiler-rt/lib/asan/asan_malloc_linux.cpp:145

# 1 0x564bb9 in frozen_cb /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:11203:36
# 2 0x53602f in json_parse_string /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:5075:9
# 3 0x5339a5 in json_parse_value /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:5170:7
# 4 0x5375b3 in json_parse_pair /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:5235:3
# 5 0x5340af in json_parse_object /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:5247:7
# 6 0x5340af in json_parse_value /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:5173:7
# 7 0x4fe424 in json_doit /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:5260:10
# 8 0x4fe424 in json_walk /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:5641:3
# 9 0x511bde in mjs_json_parse /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:11311:16
# 10 0x511bde in mjs_op_json_parse /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:11371:5
# 11 0x521d7f in mjs_execute /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:8824:11
# 12 0x516e77 in mjs_exec_internal /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:9044:5
# 13 0x52a9dd in mjs_exec_file /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:9067:11
# 14 0x52a9dd in main /home/wyl/danglefuzz/BUILD/mjs-1.26/SRC_DangleFuzz/mjs.c:11423:11
# 15 0x7f9ee3713c86 in __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:310

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