mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 20:42:49 +08:00 
			
		
		
		
	avcodec/evc_frame_merge: remove an av_packet_copy_props() call
And only fill out if no failures can happen, fixing potential leaks. Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
		| @@ -228,15 +228,17 @@ static int evc_frame_merge_filter(AVBSFContext *bsf, AVPacket *out) | |||||||
|     data_size = ctx->au_buffer.data_size; |     data_size = ctx->au_buffer.data_size; | ||||||
|  |  | ||||||
|     ctx->au_buffer.data_size = 0; |     ctx->au_buffer.data_size = 0; | ||||||
|     err = av_new_packet(out, data_size); |     // drop the data in buffer_pkt, if any, but keep the props | ||||||
|     if (err < 0) |     av_buffer_unref(&buffer_pkt->buf); | ||||||
|         goto end; |     err = av_buffer_realloc(&buffer_pkt->buf, data_size + AV_INPUT_BUFFER_PADDING_SIZE); | ||||||
|     err = av_packet_copy_props(out, buffer_pkt); |  | ||||||
|     if (err < 0) |     if (err < 0) | ||||||
|         goto end; |         goto end; | ||||||
|  |  | ||||||
|     av_packet_unref(buffer_pkt); |     buffer_pkt->data = buffer_pkt->buf->data; | ||||||
|  |     buffer_pkt->size = data_size; | ||||||
|  |     av_packet_move_ref(out, buffer_pkt); | ||||||
|     memcpy(out->data, ctx->au_buffer.data, data_size); |     memcpy(out->data, ctx->au_buffer.data, data_size); | ||||||
|  |     memset(out->data + data_size, 0, AV_INPUT_BUFFER_PADDING_SIZE); | ||||||
|  |  | ||||||
|     err = 0; |     err = 0; | ||||||
| end: | end: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 James Almer
					James Almer