On 02/11/14 19:23, Anton Khirnov wrote:
Quoting Vittorio Giovara (2014-10-30 01:51:50)
From: Luca Barbato <[email protected]>
Do not assume that the frame passed has that field set to 0 by default.
Bug-Id: CID 991853
---
libavcodec/utils.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 95d2193..a9f0e17 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -443,8 +443,10 @@ static int audio_get_buffer(AVCodecContext *avctx, AVFrame
*frame)
av_freep(&frame->extended_buf);
return AVERROR(ENOMEM);
}
- } else
- frame->extended_data = frame->data;
+ } else {
+ frame->extended_data = frame->data;
+ frame->nb_extended_buf = 0;
+ }
for (i = 0; i < FFMIN(planes, AV_NUM_DATA_POINTERS); i++) {
frame->buf[i] = av_buffer_pool_get(pool->pools[0]);
--
1.9.3 (Apple Git-50)
No, this does not look right. If that field is non-zero, then the caller
messed up and should be fixed.
I can AVERROR_BUG on the condition then.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel