From e644db613a8fe008c996ca642800f8ccd90e613f Mon Sep 17 00:00:00 2001
From: Ramiro Polla <ramiro.polla@gmail.com>
Date: Fri, 26 Mar 2010 04:12:28 +0000
Subject: [PATCH] libxvid: Clear extradata pointer when freeing it. Fixes crash
 when avcodec_close() tried freeing it again. Fixes issue 1846.

Originally committed as revision 22691 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/libxvidff.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/libxvidff.c b/libavcodec/libxvidff.c
index 661b23bc619..855aba1ec51 100644
--- a/libavcodec/libxvidff.c
+++ b/libavcodec/libxvidff.c
@@ -481,7 +481,7 @@ static av_cold int xvid_encode_close(AVCodecContext *avctx) {
     xvid_encore(x->encoder_handle, XVID_ENC_DESTROY, NULL, NULL);
 
     if( avctx->extradata != NULL )
-        av_free(avctx->extradata);
+        av_freep(&avctx->extradata);
     if( x->twopassbuffer != NULL ) {
         av_free(x->twopassbuffer);
         av_free(x->old_twopassbuffer);
-- 
GitLab