[FFmpeg-cvslog] Merge commit 'b98f082d8ddc0a0d8317114d8414ab51de60ef02'
James Almer
git at videolan.org
Wed Nov 1 19:09:08 EET 2017
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Wed Nov 1 14:07:48 2017 -0300| [a33a15751e274bf9c52a80602531fa3b9c90a9d1] | committer: James Almer
Merge commit 'b98f082d8ddc0a0d8317114d8414ab51de60ef02'
* commit 'b98f082d8ddc0a0d8317114d8414ab51de60ef02':
smacker: Check that the data size is a multiple of a sample vector
See 4a9af07a49295e014b059c1ab624c40345af5892
Merged-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a33a15751e274bf9c52a80602531fa3b9c90a9d1
---
libavcodec/smacker.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c
index 2d20be9c10..3a7067e7d5 100644
--- a/libavcodec/smacker.c
+++ b/libavcodec/smacker.c
@@ -662,7 +662,8 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data,
/* get output buffer */
frame->nb_samples = unp_size / (avctx->channels * (bits + 1));
if (unp_size % (avctx->channels * (bits + 1))) {
- av_log(avctx, AV_LOG_ERROR, "unp_size %d is odd\n", unp_size);
+ av_log(avctx, AV_LOG_ERROR,
+ "The buffer does not contain an integer number of samples\n");
return AVERROR(EINVAL);
}
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
======================================================================
diff --cc libavcodec/smacker.c
index 2d20be9c10,d42347ccdc..3a7067e7d5
--- a/libavcodec/smacker.c
+++ b/libavcodec/smacker.c
@@@ -658,15 -636,18 +658,16 @@@ static int smka_decode_frame(AVCodecCon
av_log(avctx, AV_LOG_ERROR, "sample format mismatch\n");
return AVERROR(EINVAL);
}
+
+ /* get output buffer */
+ frame->nb_samples = unp_size / (avctx->channels * (bits + 1));
if (unp_size % (avctx->channels * (bits + 1))) {
- av_log(avctx, AV_LOG_ERROR, "unp_size %d is odd\n", unp_size);
+ av_log(avctx, AV_LOG_ERROR,
+ "The buffer does not contain an integer number of samples\n");
return AVERROR(EINVAL);
}
-
- /* get output buffer */
- frame->nb_samples = unp_size / (avctx->channels * (bits + 1));
- if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) {
- av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
+ if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
- }
samples = (int16_t *)frame->data[0];
samples8 = frame->data[0];
More information about the ffmpeg-cvslog
mailing list