• Andreas Rheinhardt's avatar
    avformat/oggenc: Don't free AVStream's priv_data, fix memleak · 0fcf74f4
    Andreas Rheinhardt authored
    For FLAC, Speex, Opus and VP8 the Ogg muxer allocates two buffers
    for building the headers: The first for extradata in an Ogg-specific
    format and the second contains a Vorbiscomment. These buffers are
    reachable via pointers in the corresponding AVStream's priv_data.
    
    If an error happens during building the headers, the AVStream's
    priv_data would be freed. This is pointless in general as it would be
    freed generically anyway, but here it is actively harmful: If the second
    of the aforementioned allocations fails, the first buffer would leak
    upon freeing priv_data.
    
    This commit stops freeing priv_data manually, which allows the muxer to
    properly clean up in the deinit function.
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
    0fcf74f4
oggenc.c 29.4 KB