summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerge Roussak2018-06-01 22:40:27 +0300
committerSerge Roussak2018-06-01 22:40:27 +0300
commit6829ba6472ebab8b49eaae863bc5a2c7d87fa1bc (patch)
treef3485eec6ecbc4d6667644838feb8c1e90957d1c
parent02aec7d3464275fd92fcf402b4c6b1a9ca0c48ef (diff)
downloadaur-6829ba6472ebab8b49eaae863bc5a2c7d87fa1bc.tar.gz
snprinf, strncpy etc calls are checked by the compiler with
greater passion than earlier
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD16
-rw-r--r--gcc8-snprintf-etc.patch20
3 files changed, 36 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 946e995d569d..8760c80a8077 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = smplayer-qt4
pkgdesc = Complete front-end for MPlayer/MPV (Qt4)
pkgver = 18.4.0
- pkgrel = 1
+ pkgrel = 2
url = http://smplayer.sourceforge.net/
install = smplayer.install
arch = i686
@@ -17,7 +17,9 @@ pkgbase = smplayer-qt4
provides = smplayer
conflicts = smplayer
source = https://downloads.sourceforge.net/smplayer/smplayer-18.4.0.tar.bz2
+ source = gcc8-snprintf-etc.patch
sha256sums = ad51c1759f063afb287743bd90e24a7a77cc6e8b96da288dd7ddcb16c85b4e60
+ sha256sums = 56ee2215dcb1b59a1c0259446212ee20974ce71fd31420eba44dc6ff55d816dd
pkgname = smplayer-qt4
diff --git a/PKGBUILD b/PKGBUILD
index eb4b5de058be..666714538cde 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Serge Roussak <beaux_monde@tut.by>
pkgname=smplayer-qt4
pkgver=18.4.0
-pkgrel=1
+pkgrel=2
pkgdesc='Complete front-end for MPlayer/MPV (Qt4)'
arch=('i686' 'x86_64')
url='http://smplayer.sourceforge.net/'
@@ -15,8 +15,18 @@ makedepends=('make')
provides=('smplayer')
conflicts=('smplayer')
install=smplayer.install
-source=(https://downloads.sourceforge.net/smplayer/smplayer-$pkgver.tar.bz2)
-sha256sums=('ad51c1759f063afb287743bd90e24a7a77cc6e8b96da288dd7ddcb16c85b4e60')
+source=("https://downloads.sourceforge.net/smplayer/smplayer-$pkgver.tar.bz2"
+ 'gcc8-snprintf-etc.patch')
+sha256sums=('ad51c1759f063afb287743bd90e24a7a77cc6e8b96da288dd7ddcb16c85b4e60'
+ '56ee2215dcb1b59a1c0259446212ee20974ce71fd31420eba44dc6ff55d816dd')
+
+prepare() {
+ cd "smplayer-$pkgver"
+
+ # The gcc has become smarter now, so it can determine a (probably)
+ # overflows in the C stdio calls.
+ patch -Np1 -i ../gcc8-snprintf-etc.patch
+}
build() {
cd "smplayer-$pkgver"
diff --git a/gcc8-snprintf-etc.patch b/gcc8-snprintf-etc.patch
new file mode 100644
index 000000000000..f3bbd6d12793
--- /dev/null
+++ b/gcc8-snprintf-etc.patch
@@ -0,0 +1,20 @@
+--- a/webserver/mongoose.c 2017-01-10 21:06:03.000000000 +0300
++++ b/webserver/mongoose.c 2018-06-01 22:23:14.184481659 +0300
+@@ -8344,7 +8344,7 @@
+ static void mg_do_ssi_include(struct mg_connection *nc, struct http_message *hm,
+ const char *ssi, char *tag, int include_level,
+ const struct mg_serve_http_opts *opts) {
+- char file_name[BUFSIZ], path[MAX_PATH_SIZE], *p;
++ char file_name[MAX_PATH_SIZE], path[strlen(opts->document_root) + MAX_PATH_SIZE + 2], *p;
+ FILE *fp;
+
+ /*
+@@ -10788,7 +10788,7 @@
+ return -1;
+ }
+
+- strncpy(req->name, name, sizeof(req->name));
++ strncpy(req->name, name, sizeof(req->name) - 1);
+ req->query = query;
+ req->callback = cb;
+ req->data = data;