[vlc-commits] Contribs: fix a crash in ffmpeg/ape

Jean-Baptiste Kempf git at videolan.org
Wed Mar 16 13:29:32 CET 2011


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Wed Mar 16 13:28:51 2011 +0100| [73a2214b22860c7f40eb4b05ff8c58a7de0b0852] | committer: Jean-Baptiste Kempf

Contribs: fix a crash in ffmpeg/ape

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=73a2214b22860c7f40eb4b05ff8c58a7de0b0852
---

 extras/contrib/src/Patches/libavformat-ape.c.patch |   17 +++++++++++++++++
 extras/contrib/src/contrib-src.mak                 |    1 +
 2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/extras/contrib/src/Patches/libavformat-ape.c.patch b/extras/contrib/src/Patches/libavformat-ape.c.patch
new file mode 100644
index 0000000..ab05cfc
--- /dev/null
+++ b/extras/contrib/src/Patches/libavformat-ape.c.patch
@@ -0,0 +1,17 @@
+X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=blobdiff_plain;f=libavformat%2Fape.c;h=187c9865a4fce398c7a4b4b19aad0a59b281a469;hp=2de47ef483245372a9a3c56656cd48a30a383856;hb=1c31b26bdf66879a46a7a3e340da815c1b2125a8;hpb=6947b0c42e0649f0c8355442d1732d642e467902
+
+diff --git a/libavformat/ape.c b/libavformat/ape.c
+index 2de47ef..187c986 100644
+--- a/libavformat/ape.c
++++ b/libavformat/ape.c
+@@ -242,6 +242,10 @@ static int ape_read_header(AVFormatContext * s, AVFormatParameters * ap)
+             avio_seek(pb, ape->wavheaderlength, SEEK_CUR);
+     }
+ 
++    if(!ape->totalframes){
++        av_log(s, AV_LOG_ERROR, "No frames in the file!\n");
++        return AVERROR(EINVAL);
++    }
+     if(ape->totalframes > UINT_MAX / sizeof(APEFrame)){
+         av_log(s, AV_LOG_ERROR, "Too many frames: %d\n", ape->totalframes);
+         return -1;
diff --git a/extras/contrib/src/contrib-src.mak b/extras/contrib/src/contrib-src.mak
index 914a1b9..d241335 100644
--- a/extras/contrib/src/contrib-src.mak
+++ b/extras/contrib/src/contrib-src.mak
@@ -1103,6 +1103,7 @@ ifdef HAVE_WIN32
 	sed -i "s/std=c99/std=gnu99/" ffmpeg/configure
 endif
 	(cd ffmpeg; patch -p1 < ../Patches/ffmpeg-h264-ssse3.patch )
+	(cd ffmpeg; patch -p1 < ../Patches/libavformat-ape.c.patch )
 	touch $@
 
 ffmpeg-$(FFMPEG_VERSION).tar.gz:



More information about the vlc-commits mailing list