mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avcodec/alsdec: Fix mlz memleak
Fixes: 0cee183a09bff5aa5108429717c35a4d/asan_heap-oob_1d99eca_3702_172c75af9868d4c2556a79cc2413f4cc.mp4 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
8ebe1dddfb
commit
837e72b016
@ -1912,7 +1912,10 @@ static av_cold int decode_end(AVCodecContext *avctx)
|
||||
av_freep(&ctx->chan_data_buffer);
|
||||
av_freep(&ctx->reverted_channels);
|
||||
av_freep(&ctx->crc_buffer);
|
||||
av_freep(&ctx->mlz);
|
||||
if (ctx->mlz) {
|
||||
av_freep(&ctx->mlz->dict);
|
||||
av_freep(&ctx->mlz);
|
||||
}
|
||||
av_freep(&ctx->acf);
|
||||
av_freep(&ctx->last_acf_mantissa);
|
||||
av_freep(&ctx->shift_value);
|
||||
@ -2065,7 +2068,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
||||
|
||||
ctx->larray = av_malloc_array(ctx->cur_frame_length * 4, sizeof(*ctx->larray));
|
||||
ctx->nbits = av_malloc_array(ctx->cur_frame_length, sizeof(*ctx->nbits));
|
||||
ctx->mlz = av_malloc(sizeof(*ctx->mlz));
|
||||
ctx->mlz = av_mallocz(sizeof(*ctx->mlz));
|
||||
|
||||
if (!ctx->mlz || !ctx->acf || !ctx->shift_value || !ctx->last_shift_value
|
||||
|| !ctx->last_acf_mantissa || !ctx->raw_mantissa) {
|
||||
|
Loading…
Reference in New Issue
Block a user