[FFmpeg-cvslog] lavfi/abuffer: init the data planes with NULL pointers.

Clément Bœsch git at videolan.org
Tue Feb 21 16:46:36 CET 2012


ffmpeg | branch: master | Clément Bœsch <clement.boesch at smartjog.com> | Wed Feb 15 15:07:09 2012 +0100| [241f8465d07ecc0696bcda994a1f44d836b8809c] | committer: Clément Bœsch

lavfi/abuffer: init the data planes with NULL pointers.

Samples buffer ref is allocated and loaded with the uninitialized data
pointers:
     av_asrc_buffer_add_buffer()
  -> av_asrc_buffer_add_samples()
  -> avfilter_get_audio_buffer_ref_from_arrays(data, ...)

...which leads to a crash with at least lavfi/ashowinfo in case of !NULL
(see the for loop while samplesref->data[plane]).

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

 libavfilter/asrc_abuffer.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavfilter/asrc_abuffer.c b/libavfilter/asrc_abuffer.c
index ad71e12..5eca785 100644
--- a/libavfilter/asrc_abuffer.c
+++ b/libavfilter/asrc_abuffer.c
@@ -234,7 +234,7 @@ int av_asrc_buffer_add_buffer(AVFilterContext *ctx,
                               int sample_fmt, int64_t channel_layout, int planar,
                               int64_t pts, int av_unused flags)
 {
-    uint8_t *data[8];
+    uint8_t *data[8] = {0};
     int linesize[8];
     int nb_channels = av_get_channel_layout_nb_channels(channel_layout),
         nb_samples  = buf_size / nb_channels / av_get_bytes_per_sample(sample_fmt);



More information about the ffmpeg-cvslog mailing list