Ensure that the extradata buffer is padded appripriately in the ogg demuxer.
Spotted by valgrind. Originally committed as revision 19119 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
8dbd0a95ee
commit
12d7c0793b
@ -47,7 +47,8 @@ static int speex_header(AVFormatContext *s, int idx) {
|
|||||||
st->codec->channels = AV_RL32(p + 48);
|
st->codec->channels = AV_RL32(p + 48);
|
||||||
st->codec->frame_size = AV_RL32(p + 56);
|
st->codec->frame_size = AV_RL32(p + 56);
|
||||||
st->codec->extradata_size = os->psize;
|
st->codec->extradata_size = os->psize;
|
||||||
st->codec->extradata = av_malloc(st->codec->extradata_size);
|
st->codec->extradata = av_malloc(st->codec->extradata_size
|
||||||
|
+ FF_INPUT_BUFFER_PADDING_SIZE);
|
||||||
memcpy(st->codec->extradata, p, st->codec->extradata_size);
|
memcpy(st->codec->extradata, p, st->codec->extradata_size);
|
||||||
|
|
||||||
st->time_base.num = 1;
|
st->time_base.num = 1;
|
||||||
|
@ -106,7 +106,8 @@ theora_header (AVFormatContext * s, int idx)
|
|||||||
vorbis_comment (s, os->buf + os->pstart + 7, os->psize - 8);
|
vorbis_comment (s, os->buf + os->pstart + 7, os->psize - 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
st->codec->extradata = av_realloc (st->codec->extradata, cds);
|
st->codec->extradata = av_realloc (st->codec->extradata,
|
||||||
|
cds + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||||
cdp = st->codec->extradata + st->codec->extradata_size;
|
cdp = st->codec->extradata + st->codec->extradata_size;
|
||||||
*cdp++ = os->psize >> 8;
|
*cdp++ = os->psize >> 8;
|
||||||
*cdp++ = os->psize & 0xff;
|
*cdp++ = os->psize & 0xff;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user