flvdec: Check the return value of a malloc
The callers of this function can't report errors sanely. If this
one malloc fails, don't write the extradata byte, make sure we
try to malloc it the next time we're called instead, and make sure
we still consume the input data byte.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit c5a738ca4e
)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
This commit is contained in:

committed by
Reinhard Tartler

parent
1b0082eabc
commit
efa8603518
@@ -213,10 +213,14 @@ static int flv_set_video_codec(AVFormatContext *s, AVStream *vstream, int flv_co
|
||||
vcodec->codec_id = AV_CODEC_ID_VP6A;
|
||||
if (read) {
|
||||
if (vcodec->extradata_size != 1) {
|
||||
vcodec->extradata_size = 1;
|
||||
vcodec->extradata = av_malloc(1);
|
||||
if (vcodec->extradata)
|
||||
vcodec->extradata_size = 1;
|
||||
}
|
||||
vcodec->extradata[0] = avio_r8(s->pb);
|
||||
if (vcodec->extradata)
|
||||
vcodec->extradata[0] = avio_r8(s->pb);
|
||||
else
|
||||
avio_skip(s->pb, 1);
|
||||
}
|
||||
return 1; // 1 byte body size adjustment for flv_read_packet()
|
||||
case FLV_CODECID_H264:
|
||||
|
Reference in New Issue
Block a user