mirror of https://git.ffmpeg.org/ffmpeg.git
Extradata length checks for Huffyuv.
Patch by Michael Kaufmann hallo $(name) dash $(surname) ch Originally committed as revision 22856 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
843c7aa8fb
commit
2818bdf22b
|
@ -452,6 +452,9 @@ s->bgr32=1;
|
||||||
if(s->version==2){
|
if(s->version==2){
|
||||||
int method, interlace;
|
int method, interlace;
|
||||||
|
|
||||||
|
if (avctx->extradata_size < 4)
|
||||||
|
return -1;
|
||||||
|
|
||||||
method= ((uint8_t*)avctx->extradata)[0];
|
method= ((uint8_t*)avctx->extradata)[0];
|
||||||
s->decorrelate= method&64 ? 1 : 0;
|
s->decorrelate= method&64 ? 1 : 0;
|
||||||
s->predictor= method&63;
|
s->predictor= method&63;
|
||||||
|
@ -462,7 +465,7 @@ s->bgr32=1;
|
||||||
s->interlaced= (interlace==1) ? 1 : (interlace==2) ? 0 : s->interlaced;
|
s->interlaced= (interlace==1) ? 1 : (interlace==2) ? 0 : s->interlaced;
|
||||||
s->context= ((uint8_t*)avctx->extradata)[2] & 0x40 ? 1 : 0;
|
s->context= ((uint8_t*)avctx->extradata)[2] & 0x40 ? 1 : 0;
|
||||||
|
|
||||||
if(read_huffman_tables(s, ((uint8_t*)avctx->extradata)+4, avctx->extradata_size) < 0)
|
if(read_huffman_tables(s, ((uint8_t*)avctx->extradata)+4, avctx->extradata_size-4) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
}else{
|
}else{
|
||||||
switch(avctx->bits_per_coded_sample&7){
|
switch(avctx->bits_per_coded_sample&7){
|
||||||
|
|
Loading…
Reference in New Issue