Skip to content

rist_udp_config leaks in ristsender on several error scenarios

A rist_udp_config is allocated at https://code.videolan.org/rist/librist/-/blob/master/tools/ristsender.c#L554 but not stored for cleanup later until https://code.videolan.org/rist/librist/-/blob/master/tools/ristsender.c#L639. There are a number of error scenarios between those lines (eg https://code.videolan.org/rist/librist/-/blob/master/tools/ristsender.c#L630). If one of these occurs, the memory leaks.

==12129==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 432 byte(s) in 1 object(s) allocated from:
    #0 0x7f75c83cddc6 in calloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10ddc6)
    #1 0x7f75c812bd8c in rist_parse_udp_address2 ../src/rist.c:740
    #2 0x7f75c8d78102 in main ../tools/ristsender.c:554
    #3 0x7f75c7ef70b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)

SUMMARY: AddressSanitizer: 432 byte(s) leaked in 1 allocation(s).
Edited by Dave Evans