ludocode / mpack

MPack - A C encoder/decoder for the MessagePack serialization format / msgpack.org[C]
MIT License
521 stars 82 forks source link

Memory leak on mpack_writer_destroy #63

Closed mikroskeem closed 5 years ago

mikroskeem commented 5 years ago

ASAN reports 1 byte direct leak in mpack_writer_destroy

==8973==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1 byte(s) in 1 object(s) allocated from:
    #0 0x55af2c7e5549 in realloc (/home/mark/CLionProjects/z/cmake-build-debug/z+0xeb549)
    #1 0x55af2c82efd8 in mpack_realloc (/home/mark/CLionProjects/z/cmake-build-debug/z+0x134fd8)
    #2 0x55af2c8326f7 in mpack_growable_writer_teardown (/home/mark/CLionProjects/z/cmake-build-debug/z+0x1386f7)
    #3 0x55af2c832e5a in mpack_writer_destroy (/home/mark/CLionProjects/z/cmake-build-debug/z+0x138e5a)
    #4 0x55af2c82397d in z_net_on_read /home/mark/CLionProjects/z/src/net/net_server.c:164:12
    #5 0x7f65fcb54f92  (/usr/lib/libuv.so.1+0x17f92)

Snippet of code where this error occurs: https://paste.wut.ee/ukasoqaric.c

mikroskeem commented 5 years ago

Forgot to mention - I use mpack commit 102109cd9cc5b4502d243e51421c1e576fb201be

mikroskeem commented 5 years ago

Never mind, I had a logic error where no data got packed and writer got destroyed immediately because of the client disconnect.

Seems to be a duplicate of #58 in that case.