summaryrefslogtreecommitdiff
path: root/extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch')
-rw-r--r--extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch b/extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch
new file mode 100644
index 000000000..b9883d407
--- /dev/null
+++ b/extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch
@@ -0,0 +1,21 @@
+From 7d22d91fca6b9f24ca205eef98031f1ed6a44d33 Mon Sep 17 00:00:00 2001
+From: Philip Jägenstedt <philipj@opera.com>
+Date: Tue, 26 Jul 2011 14:10:17 +0000
+Subject: theoradec: segfault on 0-byte ogg_packet in _chain_reverse
+
+---
+diff --git a/ext/theora/gsttheoradec.c b/ext/theora/gsttheoradec.c
+index 96e12ee..25d68db 100644
+--- a/ext/theora/gsttheoradec.c
++++ b/ext/theora/gsttheoradec.c
+@@ -1440,7 +1440,7 @@ theora_dec_chain_reverse (GstTheoraDec * dec, gboolean discont, GstBuffer * buf)
+
+ /* if we copied a keyframe, flush and decode the decode queue */
+ data = GST_BUFFER_DATA (gbuf);
+- if ((data[0] & 0x40) == 0) {
++ if (data && (data[0] & 0x40) == 0) {
+ GST_DEBUG_OBJECT (dec, "copied keyframe");
+ res = theora_dec_flush_decode (dec);
+ }
+--
+cgit v0.8.3-6-g21f6