1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-11 07:22:22 +00:00

- Add DEBUG option [1]

- Fix crash with some discs [1]
- Un-version LIB_DEPENDS

PR:	ports/169698 [1]
Submitted by:	Fabian Keil <fk@fabiankeil.de> [1]
This commit is contained in:
Ganael LAPLANCHE 2012-08-01 12:40:29 +00:00
parent 029333b1d2
commit 161203d4b2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=301826
2 changed files with 56 additions and 3 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= libdvdnav
PORTVERSION= 4.2.0
PORTREVISION= 1
CATEGORIES= multimedia
# Svn repository URL : svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav
MASTER_SITES= http://dvdnav.mplayerhq.hu/releases/ \
@ -18,7 +19,7 @@ COMMENT= MPlayer version of the libdvdnav project
LICENSE= GPLv2
LIB_DEPENDS= dvdread.4:${PORTSDIR}/multimedia/libdvdread
LIB_DEPENDS= dvdread:${PORTSDIR}/multimedia/libdvdread
USE_BZIP2= yes
HAS_CONFIGURE= yes
@ -29,14 +30,23 @@ CONFIGURE_ARGS= --prefix="${PREFIX}" \
--shlibdir="${PREFIX}/lib" \
--incdir="${PREFIX}/include/dvdnav" \
--disable-opts \
--disable-debug \
--cc="${CC}"
USE_GMAKE= yes
CONFLICTS= libdvdnav-mplayer-[0-9]*
USE_LDCONFIG= yes
OPTIONS_DEFINE= DEBUG
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MDEBUG}
CONFIGURE_ARGS+= --enable-debug --disable-strip
.else
CONFIGURE_ARGS+= --disable-debug
.endif
post-patch:
@${REINPLACE_CMD} -e 's|^threadlib="-lpthread"|threadlib="${PTHREAD_LIBS}"|g' \
${WRKSRC}/configure2
.include <bsd.port.mk>
.include <bsd.port.post.mk>

View File

@ -0,0 +1,43 @@
From 49c67ccf88c688e0e0e9e3b04f651b12c7d7f7f3 Mon Sep 17 00:00:00 2001
From: Erik Hovland <erik@hovland.org>
Date: Mon, 16 Apr 2012 14:56:43 -0700
Subject: [PATCH] Check cell new row before using it to index into
cell_playback
cellnr is used to index into cell_playback after subtracting
one from it. If cellnr is 0, then it will index -1 in cell_playback
which will seek out of boundary of cell_playback. This manifested into a
segfault for some users as reported by this launchpad bug:
https://bugs.launchpad.net/ubuntu/+source/libdvdnav/+bug/934471
By checking cellnr and skipping the indexing if cellnr is equal to zero
then we avoid the segfault. There might be a bigger issue w/ regard to
retrieving a value of zero for cell new row, but this fix works for the
reporter.
Thanks goes to Sylvain Henry (hsyl20 AT gmail DOT com for both
reporting the bug to launchpad and submitting a potential patch (even
though we went w/ a different fix).
---
src/searching.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/searching.c b/src/searching.c
index 3649e9d..0b5f22a 100644
--- src/searching.c
+++ src/searching.c
@@ -640,7 +640,11 @@ uint32_t dvdnav_describe_title_chapters(dvdnav_t *this, int32_t title, uint64_t
goto fail;
}
- cellnr = pgc->program_map[ptt[i].pgn-1];
+ if ((cellnr = pgc->program_map[ptt[i].pgn-1]) == 0) {
+ printerr("Cell new row cannot be 0");
+ continue;
+ }
+
if(ptt[i].pgn < pgc->nr_of_programs)
endcellnr = pgc->program_map[ptt[i].pgn];
else
--
1.7.10.3