[arch-commits] Commit in gstreamer0.10-base/trunk (3 files)

Jan de Groot jgc at archlinux.org
Wed Aug 10 09:35:12 UTC 2011


    Date: Wednesday, August 10, 2011 @ 05:35:11
  Author: jgc
Revision: 135097

upgpkg: gstreamer0.10-base 0.10.35-1
Update to 0.10.35, add two patches to fix segfaults on 0-byte ogg/vorbis packets (FS#25416)

Added:
  gstreamer0.10-base/trunk/oggstream-fix-crashes-with-0-byte-vorbis-packets.patch
  gstreamer0.10-base/trunk/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch
Modified:
  gstreamer0.10-base/trunk/PKGBUILD

-----------------------------------------------------------------+
 PKGBUILD                                                        |   18 +++++---
 oggstream-fix-crashes-with-0-byte-vorbis-packets.patch          |   22 ++++++++++
 theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch |   21 +++++++++
 3 files changed, 56 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-08-10 09:25:04 UTC (rev 135096)
+++ PKGBUILD	2011-08-10 09:35:11 UTC (rev 135097)
@@ -3,18 +3,26 @@
 
 pkgbase=('gstreamer0.10-base')
 pkgname=('gstreamer0.10-base' 'gstreamer0.10-base-plugins')
-pkgver=0.10.34
+pkgver=0.10.35
 pkgrel=1
 arch=('i686' 'x86_64')
 license=('LGPL')
-makedepends=('pkgconfig' 'gstreamer0.10>=0.10.34' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection')
+makedepends=('pkgconfig' 'gstreamer0.10>=0.10.35' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection')
 options=(!libtool !emptydirs)
 url="http://gstreamer.freedesktop.org/"
-source=(${url}/src/gst-plugins-base/gst-plugins-base-${pkgver}.tar.bz2)
-sha256sums=('7f347a60cd4317c7ea44c23e52d6e6233d2fa278b3fe3df7cbefe2bc2e253989')
+source=(${url}/src/gst-plugins-base/gst-plugins-base-${pkgver}.tar.bz2
+        oggstream-fix-crashes-with-0-byte-vorbis-packets.patch
+        theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch)
+sha256sums=('cd24f01bb5258a1f400bc4f2c212bb7cee9ee23c9ffb80d537a24ef366d17103'
+            '2e9d001dbe0ed598c8e86b0081c6ecdf28a1a6b45ffafc639f5cf52fdf0d467f'
+            '8da16aed8c098251903208cc7ac233b7a9df3f024f78c6970e71f3c2e2bdaa17')
 
 build() {
   cd "${srcdir}/gst-plugins-base-${pkgver}"
+  
+  patch -Np1 -i "${srcdir}/oggstream-fix-crashes-with-0-byte-vorbis-packets.patch"
+  patch -Np1 -i "${srcdir}/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch"
+
   sed -i '/AC_PATH_XTRA/d' configure.ac
   autoreconf
   ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
@@ -28,7 +36,7 @@
 
 package_gstreamer0.10-base() {
   pkgdesc="GStreamer Multimedia Framework Base plugin libraries"
-  depends=('gstreamer0.10>=0.10.34' 'orc' 'libxv')
+  depends=('gstreamer0.10>=0.10.35' 'orc' 'libxv')
 
   cd "${srcdir}/gst-plugins-base-${pkgver}"
   make DESTDIR="${pkgdir}" install

Added: oggstream-fix-crashes-with-0-byte-vorbis-packets.patch
===================================================================
--- oggstream-fix-crashes-with-0-byte-vorbis-packets.patch	                        (rev 0)
+++ oggstream-fix-crashes-with-0-byte-vorbis-packets.patch	2011-08-10 09:35:11 UTC (rev 135097)
@@ -0,0 +1,22 @@
+From 8bd3bdaf3768b3fb6adc85b3bc681fdce07b786e Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147 at gmail.com>
+Date: Wed, 03 Aug 2011 08:18:29 +0000
+Subject: oggstream: Fix crashes with 0-byte vorbis packets
+
+Fixes bug #655574.
+---
+diff --git a/ext/ogg/gstoggstream.c b/ext/ogg/gstoggstream.c
+index e843f48..77f39d4 100644
+--- a/ext/ogg/gstoggstream.c
++++ b/ext/ogg/gstoggstream.c
+@@ -792,7 +792,7 @@ packet_duration_vorbis (GstOggStream * pad, ogg_packet * packet)
+   int size;
+   int duration;
+ 
+-  if (packet->packet[0] & 1)
++  if (packet->bytes == 0 || packet->packet[0] & 1)
+     return 0;
+ 
+   mode = (packet->packet[0] >> 1) & ((1 << pad->vorbis_log2_num_modes) - 1);
+--
+cgit v0.8.3-6-g21f6

Added: theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch
===================================================================
--- theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch	                        (rev 0)
+++ theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch	2011-08-10 09:35:11 UTC (rev 135097)
@@ -0,0 +1,21 @@
+From 7d22d91fca6b9f24ca205eef98031f1ed6a44d33 Mon Sep 17 00:00:00 2001
+From: Philip Jägenstedt <philipj at 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




More information about the arch-commits mailing list