Hi,
this fixes an obvious use after free in libdvdread. With this diff, ogle
is usable again and vlc doesn't abort on exit.
Ok?
Ciao,
Kili
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/libdvdread/Makefile,v
retrieving revision 1.27
diff -u -p -r1.27 Makefile
--- Makefile 27 Apr 2015 12:17:06 -0000 1.27
+++ Makefile 15 Mar 2016 19:24:12 -0000
@@ -4,6 +4,7 @@ COMMENT = accessing DVD files
VER = 5.0.3
DISTNAME = libdvdread-${VER}
+REVISION = 0
CATEGORIES = devel
MASTER_SITES = http://download.videolan.org/pub/videolan/libdvdread/${VER}/
EXTRACT_SUFX = .tar.bz2
Index: patches/patch-src_ifo_read_c
===================================================================
RCS file: patches/patch-src_ifo_read_c
diff -N patches/patch-src_ifo_read_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_ifo_read_c 15 Mar 2016 19:24:12 -0000
@@ -0,0 +1,19 @@
+$OpenBSD$
+
+Fix write after free.
+
+From git commit 4e269e52103a0422a3954ecc2f1901dec5fb4f0d (Petri
+Hintukainen)
+
+--- src/ifo_read.c.orig Wed Jan 21 17:22:42 2015
++++ src/ifo_read.c Tue Mar 15 20:06:08 2016
+@@ -1118,8 +1118,8 @@ void ifoFree_TT_SRPT(ifo_handle_t *ifofile) {
+
+ if(ifofile->tt_srpt) {
+ free(ifofile->tt_srpt->title);
+- free(ifofile->tt_srpt);
+ ifofile->tt_srpt->title = NULL;
++ free(ifofile->tt_srpt);
+ ifofile->tt_srpt = NULL;
+ }
+ }