mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
asfdec: deobfuscate reading video properties size
This code will be later split out into a function which takes a 'size'
argument, so I'm keeping the name 'sizeX' here.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 0b1d291a71
)
This commit is contained in:
parent
e5d4a95334
commit
4ca29c6534
@ -398,7 +398,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
|
|||||||
ByteIOContext *pb = s->pb;
|
ByteIOContext *pb = s->pb;
|
||||||
AVStream *st;
|
AVStream *st;
|
||||||
ASFStream *asf_st;
|
ASFStream *asf_st;
|
||||||
int size, i;
|
int i;
|
||||||
int64_t gsize;
|
int64_t gsize;
|
||||||
|
|
||||||
ff_get_guid(pb, &g);
|
ff_get_guid(pb, &g);
|
||||||
@ -559,7 +559,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
|
|||||||
get_le32(pb);
|
get_le32(pb);
|
||||||
get_le32(pb);
|
get_le32(pb);
|
||||||
get_byte(pb);
|
get_byte(pb);
|
||||||
size = get_le16(pb); /* size */
|
get_le16(pb); /* size */
|
||||||
sizeX= get_le32(pb); /* size */
|
sizeX= get_le32(pb); /* size */
|
||||||
st->codec->width = get_le32(pb);
|
st->codec->width = get_le32(pb);
|
||||||
st->codec->height = get_le32(pb);
|
st->codec->height = get_le32(pb);
|
||||||
@ -569,9 +569,8 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
|
|||||||
tag1 = get_le32(pb);
|
tag1 = get_le32(pb);
|
||||||
url_fskip(pb, 20);
|
url_fskip(pb, 20);
|
||||||
// av_log(s, AV_LOG_DEBUG, "size:%d tsize:%d sizeX:%d\n", size, total_size, sizeX);
|
// av_log(s, AV_LOG_DEBUG, "size:%d tsize:%d sizeX:%d\n", size, total_size, sizeX);
|
||||||
size= sizeX;
|
if (sizeX > 40) {
|
||||||
if (size > 40) {
|
st->codec->extradata_size = sizeX - 40;
|
||||||
st->codec->extradata_size = size - 40;
|
|
||||||
st->codec->extradata = av_mallocz(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
st->codec->extradata = av_mallocz(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||||
get_buffer(pb, st->codec->extradata, st->codec->extradata_size);
|
get_buffer(pb, st->codec->extradata, st->codec->extradata_size);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user