[FFmpeg-cvslog] asfdec: deobfuscate reading video properties size

Anton Khirnov git
Fri Feb 11 03:52:14 CET 2011


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed Feb  9 21:55:56 2011 +0100| [4ca29c6534eff7cd1fda521800e52e14a16d3e0e] | committer: Michael Niedermayer

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 at gmail.com>
(cherry picked from commit 0b1d291a716dd79ca6862a95baf9ac574feba885)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4ca29c6534eff7cd1fda521800e52e14a16d3e0e
---

 libavformat/asfdec.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
index cd051ad..0ee6667 100644
--- a/libavformat/asfdec.c
+++ b/libavformat/asfdec.c
@@ -398,7 +398,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
     ByteIOContext *pb = s->pb;
     AVStream *st;
     ASFStream *asf_st;
-    int size, i;
+    int i;
     int64_t gsize;
 
     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_byte(pb);
-                size = get_le16(pb); /* size */
+                get_le16(pb);        /* size */
                 sizeX= get_le32(pb); /* size */
                 st->codec->width = 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);
                 url_fskip(pb, 20);
 //                av_log(s, AV_LOG_DEBUG, "size:%d tsize:%d sizeX:%d\n", size, total_size, sizeX);
-                size= sizeX;
-                if (size > 40) {
-                    st->codec->extradata_size = size - 40;
+                if (sizeX > 40) {
+                    st->codec->extradata_size = sizeX - 40;
                     st->codec->extradata = av_mallocz(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
                     get_buffer(pb, st->codec->extradata, st->codec->extradata_size);
                 }




More information about the ffmpeg-cvslog mailing list