[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