projects
/
platform
/
upstream
/
libav.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
74753cf
)
rv10: check that extradata is large enough
author
Anton Khirnov
<anton@khirnov.net>
Tue, 9 Apr 2013 18:33:25 +0000
(20:33 +0200)
committer
Reinhard Tartler
<siretart@tauware.de>
Wed, 24 Apr 2013 19:01:14 +0000
(21:01 +0200)
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
(cherry picked from commit
01d376f598fe95478036f5d1e3e5e14ffe32d4bf
)
Conflicts:
libavcodec/rv10.c
libavcodec/rv10.c
patch
|
blob
|
history
diff --git
a/libavcodec/rv10.c
b/libavcodec/rv10.c
index 58604d19476caf14cc79c6ecc36da0c94381a3ac..4f64ec29b3d437106b3afd1b47348d3d4a581ddf 100644
(file)
--- a/
libavcodec/rv10.c
+++ b/
libavcodec/rv10.c
@@
-341,6
+341,11
@@
static int rv20_decode_picture_header(MpegEncContext *s)
f = get_bits(&s->gb, rpr_bits);
if(f){
+ if (s->avctx->extradata_size < 8 + 2 * f) {
+ av_log(s->avctx, AV_LOG_ERROR, "Extradata too small.\n");
+ return AVERROR_INVALIDDATA;
+ }
+
new_w= 4*((uint8_t*)s->avctx->extradata)[6+2*f];
new_h= 4*((uint8_t*)s->avctx->extradata)[7+2*f];
}else{