summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-05-16 01:06:25 -0700
committerroot <root@rshg054.dnsready.net>2013-05-16 01:06:25 -0700
commit453f3b8b2c568e9babcdc4852772278a39f130c0 (patch)
tree0f330a052dc9da74351a6167b47f16d91bf59bfa /libre
parent51c18483cd98db045391ee9a0c7b9b6ad5d4ab3a (diff)
Thu May 16 01:06:25 PDT 2013
Diffstat (limited to 'libre')
-rw-r--r--libre/icecat-adblock-plus/PKGBUILD12
-rw-r--r--libre/icecat-noscript/PKGBUILD6
-rw-r--r--libre/iceweasel-adblock-plus/PKGBUILD12
-rw-r--r--libre/iceweasel-noscript/PKGBUILD6
-rw-r--r--libre/kdepim-libre/PKGBUILD4
-rw-r--r--libre/linux-libre-lts-kmod-alx/PKGBUILD4
-rw-r--r--libre/linux-libre-lts/PKGBUILD10
-rw-r--r--libre/linux-libre-lts/linux-libre-lts.install2
-rw-r--r--libre/mplayer-libre/PKGBUILD19
-rw-r--r--libre/mplayer-libre/subreader-fix-srt-parsing.patch60
-rw-r--r--libre/mplayer-vaapi-libre/PKGBUILD22
-rw-r--r--libre/mplayer-vaapi-libre/subreader-fix-srt-parsing.patch60
12 files changed, 178 insertions, 39 deletions
diff --git a/libre/icecat-adblock-plus/PKGBUILD b/libre/icecat-adblock-plus/PKGBUILD
index 1b444d1e6..9508d8e15 100644
--- a/libre/icecat-adblock-plus/PKGBUILD
+++ b/libre/icecat-adblock-plus/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id$
+# $Id: PKGBUILD 90899 2013-05-15 12:56:13Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=firefox-adblock-plus
pkgname=icecat-adblock-plus
-pkgver=2.2.3
-_addons_file=192004
-pkgrel=2.1
+pkgver=2.2.4
+_addons_file=206960
+pkgrel=2
pkgdesc="plugin for icecat which block ads and banners"
arch=('any')
url="http://adblockplus.org/"
@@ -16,7 +16,7 @@ provides=$_pkgname=$pkgver
makedepends=('unzip')
noextract=("adblock_plus-$pkgver-fx+tb+fn+sm.xpi")
source=(https://addons.mozilla.org/firefox/downloads/file/${_addons_file}/adblock_plus-$pkgver-fx+tb+fn+sm.xpi)
-md5sums=('07607a3cb349eeccfc7768b5f4f2aaae')
+md5sums=('0ce162b71d2398b46f4e8cc4ddd64cbb')
package() {
# _ffver=`pacman -Q icecat | cut -f2 -d\ | cut -f1-2 -d.`
@@ -25,7 +25,7 @@ package() {
cd $srcdir
[ $NOEXTRACT -eq 1 ] || unzip adblock_plus-$pkgver-fx+tb+fn+sm.xpi
local emid=$(sed -n -e '/<\?em:id>\?/!d; s/.*\([\"{].*[}\"]\).*/\1/; s/\"//g; p; q' install.rdf)
- local dstdir=$pkgdir/usr/lib/icecat/extensions/${emid}
+ local dstdir=$pkgdir/usr/lib/icecat/browser/extensions/${emid}
[ -n ${emid} ] || return 1
install -d $dstdir
# sed -i 's#<em:maxVersion>.*</em:maxVersion>#<em:maxVersion>20.*</em:maxVersion>#' install.rdf
diff --git a/libre/icecat-noscript/PKGBUILD b/libre/icecat-noscript/PKGBUILD
index 61840c4df..1a0e3ddd0 100644
--- a/libre/icecat-noscript/PKGBUILD
+++ b/libre/icecat-noscript/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id$
+# $Id: PKGBUILD 90901 2013-05-15 12:56:28Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=firefox-noscript
pkgname=icecat-noscript
pkgver=2.6.6
-pkgrel=1
+pkgrel=2
pkgdesc="plugin for icecat which disables script"
arch=('any')
url="http://noscript.net/"
@@ -23,7 +23,7 @@ package() {
cd $srcdir
local emid=$(sed -n -e '/<\?em:id>\?/!d; s/.*\([\"{].*[}\"]\).*/\1/; s/\"//g; p; q' install.rdf)
- local dstdir=$pkgdir/usr/lib/icecat/extensions/${emid}
+ local dstdir=$pkgdir/usr/lib/icecat/browser/extensions/${emid}
install -d $dstdir
# sed -i 's#<em:maxVersion>.*</em:maxVersion>#<em:maxVersion>7.*</em:maxVersion>#' install.rdf
cp -R * $dstdir
diff --git a/libre/iceweasel-adblock-plus/PKGBUILD b/libre/iceweasel-adblock-plus/PKGBUILD
index 58f72b6da..019d1edd2 100644
--- a/libre/iceweasel-adblock-plus/PKGBUILD
+++ b/libre/iceweasel-adblock-plus/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id$
+# $Id: PKGBUILD 90899 2013-05-15 12:56:13Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=firefox-adblock-plus
pkgname=iceweasel-adblock-plus
-pkgver=2.2.3
-_addons_file=192004
-pkgrel=2.1
+pkgver=2.2.4
+_addons_file=206960
+pkgrel=2
pkgdesc="plugin for iceweasel which block ads and banners"
arch=('any')
url="http://adblockplus.org/"
@@ -16,7 +16,7 @@ provides=$_pkgname=$pkgver
makedepends=('unzip')
noextract=("adblock_plus-$pkgver-fx+tb+fn+sm.xpi")
source=(https://addons.mozilla.org/firefox/downloads/file/${_addons_file}/adblock_plus-$pkgver-fx+tb+fn+sm.xpi)
-md5sums=('07607a3cb349eeccfc7768b5f4f2aaae')
+md5sums=('0ce162b71d2398b46f4e8cc4ddd64cbb')
package() {
# _ffver=`pacman -Q iceweasel-libre | cut -f2 -d\ | cut -f1-2 -d.`
@@ -25,7 +25,7 @@ package() {
cd $srcdir
[ $NOEXTRACT -eq 1 ] || unzip adblock_plus-$pkgver-fx+tb+fn+sm.xpi
local emid=$(sed -n -e '/<\?em:id>\?/!d; s/.*\([\"{].*[}\"]\).*/\1/; s/\"//g; p; q' install.rdf)
- local dstdir=$pkgdir/usr/lib/iceweasel/extensions/${emid}
+ local dstdir=$pkgdir/usr/lib/iceweasel/browser/extensions/${emid}
[ -n ${emid} ] || return 1
install -d $dstdir
# sed -i 's#<em:maxVersion>.*</em:maxVersion>#<em:maxVersion>20.*</em:maxVersion>#' install.rdf
diff --git a/libre/iceweasel-noscript/PKGBUILD b/libre/iceweasel-noscript/PKGBUILD
index 999131a86..7db206be9 100644
--- a/libre/iceweasel-noscript/PKGBUILD
+++ b/libre/iceweasel-noscript/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id$
+# $Id: PKGBUILD 90901 2013-05-15 12:56:28Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgname=firefox-noscript
pkgname=iceweasel-noscript
pkgver=2.6.6
-pkgrel=1
+pkgrel=2
pkgdesc="plugin for iceweasel which disables script"
arch=('any')
url="http://noscript.net/"
@@ -23,7 +23,7 @@ package() {
cd $srcdir
local emid=$(sed -n -e '/<\?em:id>\?/!d; s/.*\([\"{].*[}\"]\).*/\1/; s/\"//g; p; q' install.rdf)
- local dstdir=$pkgdir/usr/lib/iceweasel/extensions/${emid}
+ local dstdir=$pkgdir/usr/lib/iceweasel/browser/extensions/${emid}
install -d $dstdir
# sed -i 's#<em:maxVersion>.*</em:maxVersion>#<em:maxVersion>7.*</em:maxVersion>#' install.rdf
cp -R * $dstdir
diff --git a/libre/kdepim-libre/PKGBUILD b/libre/kdepim-libre/PKGBUILD
index 256211d8c..7ed1b1a01 100644
--- a/libre/kdepim-libre/PKGBUILD
+++ b/libre/kdepim-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 184590 2013-05-07 13:30:09Z andrea $
+# $Id: PKGBUILD 185074 2013-05-10 20:52:59Z tomegun $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -23,7 +23,7 @@ pkgname=('kdepim-akonadiconsole-libre'
'kdepim-ktnef-libre'
'kdepim-libkdepim-libre')
pkgver=4.10.3
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64' 'mips64el')
url='http://pim.kde.org'
license=('GPL' 'LGPL' 'FDL')
diff --git a/libre/linux-libre-lts-kmod-alx/PKGBUILD b/libre/linux-libre-lts-kmod-alx/PKGBUILD
index 58662b78b..6e2796cff 100644
--- a/libre/linux-libre-lts-kmod-alx/PKGBUILD
+++ b/libre/linux-libre-lts-kmod-alx/PKGBUILD
@@ -1,12 +1,12 @@
# Maintainer: André Silva <emulatorman@lavabit.com>
-_kernver=3.0.77
+_kernver=3.0.78
_kernrel=1
pkgname=('linux-libre-lts-kmod-alx')
_version=v3.9-rc4
_pkgver=3.9-rc4-2-su
pkgver=3.9rc4.2
-pkgrel=1
+pkgrel=2
pkgdesc='Atheros alx ethernet device driver for linux-libre-lts kernel'
arch=('i686' 'x86_64')
url='http://www.linuxfoundation.org/collaborate/workgroups/networking/alx'
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD
index 61bbef162..efd3cd3c8 100644
--- a/libre/linux-libre-lts/PKGBUILD
+++ b/libre/linux-libre-lts/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 184766 2013-05-08 09:12:14Z tpowa $
+# $Id: PKGBUILD 185334 2013-05-13 12:44:58Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -7,10 +7,10 @@
pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel
#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.0
-_sublevel=77
+_sublevel=78
pkgver=${_basekernel}.${_sublevel}
pkgrel=1
-_lxopkgver=${_basekernel}.76 # nearly always the same as pkgver
+_lxopkgver=${_basekernel}.78 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -32,7 +32,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'module-init-wait-3.0.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu1_0loongsonlibre_mipsel.tar.bz2")
md5sums=('f30a562307b6f71204370fcd33756466'
- '8b2ca0f6a92462ba9e544f02fc450c03'
+ 'd4c068f9b6fb431f606220ec8e707fa1'
'fe0e9b4415b82f306fc1b63eb9a742a4'
'69a689019ea0b6ed46b387907f14bc8a'
'c072b17032e80debc6a8626299245d46'
@@ -44,7 +44,7 @@ md5sums=('f30a562307b6f71204370fcd33756466'
'f36222e7ce20c8e4dc27376f9be60f6c'
'670931649c60fcb3ef2e0119ed532bd4'
'8a71abc4224f575008f974a099b5cf6f'
- '5b330cc23071e1250b7e0a1613a25952')
+ '85cd68841ef098249949638c1e8dd443')
if [ "$CARCH" != "mips64el" ]; then
# Don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install
index 0030c7ce2..b4c66216e 100644
--- a/libre/linux-libre-lts/linux-libre-lts.install
+++ b/libre/linux-libre-lts/linux-libre-lts.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-lts
-KERNEL_VERSION=3.0.77-1-LIBRE-LTS
+KERNEL_VERSION=3.0.78-1-LIBRE-LTS
# set a sane PATH to ensure that critical utils like depmod will be found
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
diff --git a/libre/mplayer-libre/PKGBUILD b/libre/mplayer-libre/PKGBUILD
index 5ad383873..ffd2362be 100644
--- a/libre/mplayer-libre/PKGBUILD
+++ b/libre/mplayer-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 183981 2013-04-30 09:11:10Z bpiotrowski $
+# $Id: PKGBUILD 185551 2013-05-14 23:48:31Z foutrelis $
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -8,7 +8,7 @@ _pkgbase=mplayer
pkgbase=mplayer-libre
pkgname=('mplayer-libre' 'mencoder-libre')
pkgver=35920
-pkgrel=2
+pkgrel=3
arch=('i686' 'x86_64' 'mips64el')
makedepends=('libxxf86dga' 'libxxf86vm' 'libmad' 'libxinerama' 'sdl' 'lame' 'libtheora' 'xvidcore' 'libmng' 'libxss' 'libgl' 'smbclient'
'aalib' 'jack' 'libcaca' 'x264' 'faad2' 'lirc-utils' 'libxvmc' 'enca' 'libvdpau' 'opencore-amr' 'libdca' 'a52dec' 'schroedinger' 'libvpx'
@@ -16,15 +16,24 @@ makedepends=('libxxf86dga' 'libxxf86vm' 'libmad' 'libxinerama' 'sdl' 'lame' 'lib
license=('GPL')
url="http://www.mplayerhq.hu/"
options=(!buildflags !emptydirs)
-source=(ftp://ftp.archlinux.org/other/packages/$_pkgbase/$_pkgbase-$pkgver.tar.xz mplayer.desktop cdio-includes.patch)
+source=(ftp://ftp.archlinux.org/other/packages/$_pkgbase/$_pkgbase-$pkgver.tar.xz mplayer.desktop cdio-includes.patch subreader-fix-srt-parsing.patch)
md5sums=('5f96e829d711e7d1ea65e324710dca50'
'c0d6ef795cf6de48e3b87ff7c23f0319'
- '7b5be7191aafbea64218dc4916343bbc')
+ '7b5be7191aafbea64218dc4916343bbc'
+ '7cb6019018a95dcc3d1231e1aaa8bbdb')
-build() {
+prepare() {
cd "$srcdir/$_pkgbase"
+
patch -Np0 -i ../cdio-includes.patch
+ # http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2139
+ patch -Np1 -i ../subreader-fix-srt-parsing.patch
+}
+
+build() {
+ cd "$srcdir/$_pkgbase"
+
./configure --prefix=/usr \
--enable-runtime-cpudetection \
--disable-gui \
diff --git a/libre/mplayer-libre/subreader-fix-srt-parsing.patch b/libre/mplayer-libre/subreader-fix-srt-parsing.patch
new file mode 100644
index 000000000..84f2de4d9
--- /dev/null
+++ b/libre/mplayer-libre/subreader-fix-srt-parsing.patch
@@ -0,0 +1,60 @@
+From d98e61ea438db66323734ad1b6bea66411a3c97b Mon Sep 17 00:00:00 2001
+From: wm4 <wm4@nowhere>
+Date: Tue, 30 Apr 2013 00:09:31 +0200
+Subject: [PATCH] subreader: fix out of bound write access when parsing .srt
+
+This broke .srt subtitles on gcc-4.8. The breakage was relatively
+subtle: it set all hour components to 0, while everything else was
+parsed successfully.
+
+But the problem is really that sscanf wrote 1 byte past the sep
+variable (or more, for invalid/specially prepared input). The %[..]
+format specifier is unbounded. Fix that by letting sscanf drop the
+parsed contents with "*", and also make it skip only one input
+character by adding "1" (=> "%*1[...").
+
+The out of bound write could easily lead to security issues.
+
+Also, this change makes .srt subtitle parsing slightly more strict.
+Strictly speaking this is an unrelated change, but do it anyway. It's
+more correct.
+---
+ sub/subreader.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+ (foutrelis: adjusted variable names in first hunk to apply to mplayer)
+
+diff --git a/sub/subreader.c b/sub/subreader.c
+index 23da4c7..0f1b6c9 100644
+--- a/sub/subreader.c
++++ b/sub/subreader.c
+@@ -386,14 +386,14 @@ static subtitle *sub_ass_read_line_subviewer(stream_t *st, subtitle *current,
+ int h1, m1, s1, ms1, h2, m2, s2, ms2, j = 0;
+
+ while (!current->text[0]) {
+- char line[LINE_LEN + 1], full_line[LINE_LEN + 1], sep;
++ char line[LINE_LEN + 1], full_line[LINE_LEN + 1];
+ int i;
+
+ /* Parse SubRip header */
+ if (!stream_read_line(st, line, LINE_LEN, utf16))
+ return NULL;
+- if (sscanf(line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",
+- &h1, &m1, &s1, &sep, &ms1, &h2, &m2, &s2, &sep, &ms2) < 10)
++ if (sscanf(line, "%d:%d:%d%*1[,.:]%d --> %d:%d:%d%*1[,.:]%d",
++ &h1, &m1, &s1, &ms1, &h2, &m2, &s2, &ms2) < 8)
+ continue;
+
+ current->start = a1 * 360000 + a2 * 6000 + a3 * 100 + a4 / 10;
+@@ -450,7 +450,7 @@ static subtitle *sub_read_line_subviewer(stream_t *st,subtitle *current,
+ return sub_ass_read_line_subviewer(st, current, args);
+ while (!current->text[0]) {
+ if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL;
+- if ((len=sscanf (line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",&a1,&a2,&a3,(char *)&i,&a4,&b1,&b2,&b3,(char *)&i,&b4)) < 10)
++ if ((len=sscanf (line, "%d:%d:%d%*1[,.:]%d --> %d:%d:%d%*1[,.:]%d",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4)) < 8)
+ continue;
+ current->start = a1*360000+a2*6000+a3*100+a4/10;
+ current->end = b1*360000+b2*6000+b3*100+b4/10;
+--
+1.8.1.6
+
diff --git a/libre/mplayer-vaapi-libre/PKGBUILD b/libre/mplayer-vaapi-libre/PKGBUILD
index 3b0ef9080..93958ca69 100644
--- a/libre/mplayer-vaapi-libre/PKGBUILD
+++ b/libre/mplayer-vaapi-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id$
+# $Id: PKGBUILD 90856 2013-05-14 23:55:05Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
@@ -8,8 +8,8 @@
pkgname=mplayer-vaapi-libre
pkgver=35107
-pkgrel=5
-pkgdesc="A movie player, compiled with vaapi (without unfree faac support)"
+pkgrel=7
+pkgdesc="A movie player, compiled with vaapi, without nonfree faac support"
arch=('i686' 'x86_64' 'mips64el')
url="http://gitorious.org/vaapi/mplayer"
license=('GPL')
@@ -26,19 +26,29 @@ replaces=('mplayer-vaapi')
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
source=(http://pkgbuild.com/~foutrelis/mplayer-vaapi-$pkgver.tar.xz
cdio-includes.patch
- tweak-desktop-file.patch)
+ tweak-desktop-file.patch
+ subreader-fix-srt-parsing.patch)
options=('!buildflags' '!emptydirs')
install=mplayer-vaapi.install
sha256sums=('a6c645625cc2cd6ca48764db302c926049f831e757857ece351b37b674e05e56'
'72e6c654f9733953ad2466d0ea1a52f23e753791d8232d90f13293eb1b358720'
- '5a09fb462729a4e573568f9e8c1f57dbe7f69c0b68cfa4f6d70b3e52c450d93b')
+ '5a09fb462729a4e573568f9e8c1f57dbe7f69c0b68cfa4f6d70b3e52c450d93b'
+ '69127a5576e4f1f62f688215bd2ec0e052ddcb36292c7a1766c146ff122cb092')
-build() {
+
+prepare() {
cd "$srcdir/mplayer-vaapi-$pkgver"
patch -Np0 -i "$srcdir/cdio-includes.patch"
patch -d etc -Np0 -i "$srcdir/tweak-desktop-file.patch"
+ # http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2139
+ patch -Np1 -i "$srcdir/subreader-fix-srt-parsing.patch"
+}
+
+build() {
+ cd "$srcdir/mplayer-vaapi-$pkgver"
+
./configure \
--prefix=/usr \
--enable-runtime-cpudetection \
diff --git a/libre/mplayer-vaapi-libre/subreader-fix-srt-parsing.patch b/libre/mplayer-vaapi-libre/subreader-fix-srt-parsing.patch
new file mode 100644
index 000000000..84f2de4d9
--- /dev/null
+++ b/libre/mplayer-vaapi-libre/subreader-fix-srt-parsing.patch
@@ -0,0 +1,60 @@
+From d98e61ea438db66323734ad1b6bea66411a3c97b Mon Sep 17 00:00:00 2001
+From: wm4 <wm4@nowhere>
+Date: Tue, 30 Apr 2013 00:09:31 +0200
+Subject: [PATCH] subreader: fix out of bound write access when parsing .srt
+
+This broke .srt subtitles on gcc-4.8. The breakage was relatively
+subtle: it set all hour components to 0, while everything else was
+parsed successfully.
+
+But the problem is really that sscanf wrote 1 byte past the sep
+variable (or more, for invalid/specially prepared input). The %[..]
+format specifier is unbounded. Fix that by letting sscanf drop the
+parsed contents with "*", and also make it skip only one input
+character by adding "1" (=> "%*1[...").
+
+The out of bound write could easily lead to security issues.
+
+Also, this change makes .srt subtitle parsing slightly more strict.
+Strictly speaking this is an unrelated change, but do it anyway. It's
+more correct.
+---
+ sub/subreader.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+ (foutrelis: adjusted variable names in first hunk to apply to mplayer)
+
+diff --git a/sub/subreader.c b/sub/subreader.c
+index 23da4c7..0f1b6c9 100644
+--- a/sub/subreader.c
++++ b/sub/subreader.c
+@@ -386,14 +386,14 @@ static subtitle *sub_ass_read_line_subviewer(stream_t *st, subtitle *current,
+ int h1, m1, s1, ms1, h2, m2, s2, ms2, j = 0;
+
+ while (!current->text[0]) {
+- char line[LINE_LEN + 1], full_line[LINE_LEN + 1], sep;
++ char line[LINE_LEN + 1], full_line[LINE_LEN + 1];
+ int i;
+
+ /* Parse SubRip header */
+ if (!stream_read_line(st, line, LINE_LEN, utf16))
+ return NULL;
+- if (sscanf(line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",
+- &h1, &m1, &s1, &sep, &ms1, &h2, &m2, &s2, &sep, &ms2) < 10)
++ if (sscanf(line, "%d:%d:%d%*1[,.:]%d --> %d:%d:%d%*1[,.:]%d",
++ &h1, &m1, &s1, &ms1, &h2, &m2, &s2, &ms2) < 8)
+ continue;
+
+ current->start = a1 * 360000 + a2 * 6000 + a3 * 100 + a4 / 10;
+@@ -450,7 +450,7 @@ static subtitle *sub_read_line_subviewer(stream_t *st,subtitle *current,
+ return sub_ass_read_line_subviewer(st, current, args);
+ while (!current->text[0]) {
+ if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL;
+- if ((len=sscanf (line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",&a1,&a2,&a3,(char *)&i,&a4,&b1,&b2,&b3,(char *)&i,&b4)) < 10)
++ if ((len=sscanf (line, "%d:%d:%d%*1[,.:]%d --> %d:%d:%d%*1[,.:]%d",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4)) < 8)
+ continue;
+ current->start = a1*360000+a2*6000+a3*100+a4/10;
+ current->end = b1*360000+b2*6000+b3*100+b4/10;
+--
+1.8.1.6
+