~alpine/aports

community/minidlna: patch for potential segfaults v1 PROPOSED

Gergo Huszty: 1
 community/minidlna: out of stack fix reworked

 2 files changed, 41 insertions(+), 5 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.alpinelinux.org/~alpine/aports/patches/1690/mbox | git am -3
Learn more about email & git

[alpine-aports] [PATCH] community/minidlna: out of stack fix reworked Export this patch

As suggested, stack size is increased instead of moving nfo file
buffer to heap.
---
 community/minidlna/10-minidlna-nfo.patch | 32 ++++++++++++++++++++++++++++++++
 community/minidlna/APKBUILD              | 14 +++++++++-----
 2 files changed, 41 insertions(+), 5 deletions(-)
 create mode 100644 community/minidlna/10-minidlna-nfo.patch

diff --git a/community/minidlna/10-minidlna-nfo.patch b/community/minidlna/10-minidlna-nfo.patch
new file mode 100644
index 0000000..80fdab1
--- /dev/null
+++ b/community/minidlna/10-minidlna-nfo.patch
@@ -0,0 +1,32 @@
--- a/metadata.c
+++ b/metadata.c
@@ -676,6 +676,7 @@
 
 	memset(&m, '\0', sizeof(m));
 	memset(&video, '\0', sizeof(video));
+	memset(nfo, '\0', sizeof(nfo));
 
 	//DEBUG DPRINTF(E_DEBUG, L_METADATA, "Parsing video %s...\n", name);
 	if ( stat(path, &file) != 0 )
--- a/minidlna.c
+++ b/minidlna.c
@@ -1049,8 +1049,17 @@
 		if (!sqlite3_threadsafe() || sqlite3_libversion_number() < 3005001)
 			DPRINTF(E_ERROR, L_GENERAL, "SQLite library is not threadsafe!  "
 			                            "Inotify will be disabled.\n");
-		else if (pthread_create(&inotify_thread, NULL, start_inotify, NULL) != 0)
-			DPRINTF(E_FATAL, L_GENERAL, "ERROR: pthread_create() failed for start_inotify. EXITING\n");
+		else
+		{
+			pthread_attr_t attr, *attrptr = NULL;
+			if ((pthread_attr_init(&attr) == 0) && (pthread_attr_setstacksize(&attr, 192 * 1024) == 0))
+				attrptr = &attr;
+			else
+				DPRINTF(E_ERROR, L_GENERAL, "Failed to set inotify thread stack size,"
+							    "continuing with the default.\n");
+			if (pthread_create(&inotify_thread, attrptr, start_inotify, NULL) != 0)
+				DPRINTF(E_FATAL, L_GENERAL, "ERROR: pthread_create() failed for start_inotify. EXITING\n");
+		}
 	}
 #endif
 	smonitor = OpenAndConfMonitorSocket();
diff --git a/community/minidlna/APKBUILD b/community/minidlna/APKBUILD
index cab6b58..d296776 100644
--- a/community/minidlna/APKBUILD
+++ b/community/minidlna/APKBUILD
@@ -2,12 +2,13 @@
# Maintainer: Francesco Colista <francesco.colista@gmail.com>
pkgname=minidlna
pkgver=1.1.5
pkgrel=3
pkgrel=4
pkgdesc="A small dlna server"
url="http://sourceforge.net/projects/minidlna/"
arch="all"
license="GPL"
depends=
options=
makedepends="
	bsd-compat-headers
	libvorbis-dev
@@ -26,7 +27,7 @@ pkggroups="$pkgname"
source="http://downloads.sourceforge.net/project/minidlna/minidlna/$pkgver/minidlna-$pkgver.tar.gz
	$pkgname.initd
	$pkgname.confd
	"
	10-minidlna-nfo.patch"

builddir="$srcdir/$pkgname-$pkgver"

@@ -63,10 +64,13 @@ package() {

md5sums="1970e553a1eb8a3e7e302e2ce292cbc4  minidlna-1.1.5.tar.gz
6dd1ec5560ac30d7a04244101e912d45  minidlna.initd
59d14c1bf3cd637138bfa58db7255d78  minidlna.confd"
59d14c1bf3cd637138bfa58db7255d78  minidlna.confd
d4ae54c1249b2263646a68afc32aae62  10-minidlna-nfo.patch"
sha256sums="8477ad0416bb2af5cd8da6dde6c07ffe1a413492b7fe40a362bc8587be15ab9b  minidlna-1.1.5.tar.gz
251e790bb8adb91b4d00dd47543b9b02409879ade0853ebc3bd0fc0184bd485e  minidlna.initd
67603d65c6bd3918255f050cb5cfd6fc1373b024bca1ce728f03491a90d79e19  minidlna.confd"
67603d65c6bd3918255f050cb5cfd6fc1373b024bca1ce728f03491a90d79e19  minidlna.confd
d060e1181277f3b31a8cc64050cfc9a2ce6d1891b6bf81b4e8463d5e0e450891  10-minidlna-nfo.patch"
sha512sums="2a8eaa42fcda6f98648f1726af5cdba6d2358c386440dd0de933364cfbd1ced2fee5f883033e1a5a692b760749beb2c12798020a3591ddcea22663102d4f3dfa  minidlna-1.1.5.tar.gz
e16961bb68c004297f1e26422b1d15bd8583ba2e0e36c88902a45573b685993fff88d2d0dae8c624eaeddb0deca614dbc13b8345f34b4c348961c00b05c0df30  minidlna.initd
e209848af0d79069ac989ad61d3be610b4c0c2783a207a50463a25ec3811b04d1da3a2acde54749878bec44e1567874ede827b978d5472c00f6a855663e5cbf8  minidlna.confd"
e209848af0d79069ac989ad61d3be610b4c0c2783a207a50463a25ec3811b04d1da3a2acde54749878bec44e1567874ede827b978d5472c00f6a855663e5cbf8  minidlna.confd
59a97ef0a36d3ae44dd2e182a0b106f84ce5c17e7dc14ee0459b17430b57ddc59a74e8e67fc0a90326fa451a505b97a0b719b438475efac144028dd012b44af1  10-minidlna-nfo.patch"
-- 
2.8.3



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---