OSDN Git Service
(root)
/
android-x86
/
external-ffmpeg.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0fe50e5
)
avcodec/wmaprodec: check number of channels for XMA streams
author
Paul B Mahol
<onemda@gmail.com>
Thu, 19 Jan 2017 14:42:47 +0000
(15:42 +0100)
committer
Paul B Mahol
<onemda@gmail.com>
Thu, 19 Jan 2017 14:42:47 +0000
(15:42 +0100)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/wmaprodec.c
patch
|
blob
|
history
diff --git
a/libavcodec/wmaprodec.c
b/libavcodec/wmaprodec.c
index
b0d3ede
..
55a4807
100644
(file)
--- a/
libavcodec/wmaprodec.c
+++ b/
libavcodec/wmaprodec.c
@@
-1825,8
+1825,13
@@
static av_cold int xma_decode_init(AVCodecContext *avctx)
XMADecodeCtx *s = avctx->priv_data;
int i, ret;
- for (i = 0; i < avctx->channels / 2; i++) {
+ if (avctx->channels <= 0 || avctx->channels > 8)
+ return AVERROR_INVALIDDATA;
+
+ for (i = 0; i < (avctx->channels + 1) / 2; i++) {
ret = decode_init(&s->xma[i], avctx);
+ if (ret < 0)
+ return ret;
s->frames[i] = av_frame_alloc();
if (!s->frames[i])
return AVERROR(ENOMEM);