You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +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:
		| @@ -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) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user