[FFmpeg-cvslog] lavc: Fix use of uninitialized field.

Michael Niedermayer git at videolan.org
Fri Oct 12 00:26:42 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri Oct 12 00:07:21 2012 +0200| [e0909ff1584dc90499409707c5f91bf6ce78b09e] | committer: Michael Niedermayer

lavc: Fix use of uninitialized field.

Fixes CID732297
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e0909ff1584dc90499409707c5f91bf6ce78b09e
---

 libavcodec/utils.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 8b65976..166b3b4 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1753,10 +1753,14 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx,
     /* many decoders assign whole AVFrames, thus overwriting extended_data;
      * make sure it's set correctly; assume decoders that actually use
      * extended_data are doing it correctly */
-    planar   = av_sample_fmt_is_planar(frame->format);
-    channels = av_get_channel_layout_nb_channels(frame->channel_layout);
-    if (!(planar && channels > AV_NUM_DATA_POINTERS))
-        frame->extended_data = frame->data;
+    if (*got_frame_ptr) {
+        planar   = av_sample_fmt_is_planar(frame->format);
+        channels = av_get_channel_layout_nb_channels(frame->channel_layout);
+        if (!(planar && channels > AV_NUM_DATA_POINTERS))
+            frame->extended_data = frame->data;
+    } else {
+        frame->extended_data = NULL;
+    }
 
     return ret;
 }



More information about the ffmpeg-cvslog mailing list