[FFmpeg-devel] [PATCH 1/2] lavc: use av_freep() for freeing extended_data

Michael Niedermayer michaelni at gmx.at
Tue Jan 17 03:44:57 CET 2012


This is safer

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
 libavcodec/utils.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 7ea9c54..22a7ee3 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -296,7 +296,7 @@ int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels,
                                       buf, nb_channels, frame->nb_samples,
                                       sample_fmt, align)) < 0) {
         if (frame->extended_data != frame->data)
-            av_free(frame->extended_data);
+            av_freep(&frame->extended_data);
         return ret;
     }
     if (frame->extended_data != frame->data) {
@@ -334,7 +334,7 @@ static int audio_get_buffer(AVCodecContext *avctx, AVFrame *frame)
         if (buf->extended_data[0] && buf_size > buf->audio_data_size) {
             av_free(buf->extended_data[0]);
             if (buf->extended_data != buf->data)
-                av_free(&buf->extended_data);
+                av_freep(&buf->extended_data);
             buf->extended_data = NULL;
             buf->data[0] = NULL;
         }
@@ -1110,7 +1110,7 @@ int attribute_align_arg avcodec_encode_audio(AVCodecContext *avctx,
     }
 
     if (frame && frame->extended_data != frame->data)
-        av_free(frame->extended_data);
+        av_freep(&frame->extended_data);
 
     return ret ? ret : pkt.size;
 }
@@ -1733,7 +1733,7 @@ static void audio_free_buffers(AVCodecContext *avctx)
     if (buf->extended_data) {
         av_free(buf->extended_data[0]);
         if (buf->extended_data != buf->data)
-            av_free(buf->extended_data);
+            av_freep(&buf->extended_data);
     }
     av_freep(&avci->buffer);
 }
-- 
1.7.5.4



More information about the ffmpeg-devel mailing list