backport patches upstream git master to fix several known bugs
Fixes LaunchPad bug ids #1236939, #570790
This commit is contained in:
parent
d712937fd4
commit
4b5294c986
28
0001-Do-not-assert-on-NULL-pgcit.patch
Normal file
28
0001-Do-not-assert-on-NULL-pgcit.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From b026ed3da85b2085678a8d9e643e85e072ae6f83 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jean-Baptiste Kempf <jb@videolan.org>
|
||||||
|
Date: Sun, 31 Aug 2014 00:40:47 +0200
|
||||||
|
Subject: [PATCH 1/5] Do not assert on NULL pgcit
|
||||||
|
|
||||||
|
---
|
||||||
|
src/vm/getset.c | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/vm/getset.c b/src/vm/getset.c
|
||||||
|
index 12b24ec..cd0c074 100644
|
||||||
|
--- a/src/vm/getset.c
|
||||||
|
+++ b/src/vm/getset.c
|
||||||
|
@@ -242,7 +242,10 @@ int get_ID(vm_t *vm, int id) {
|
||||||
|
|
||||||
|
/* Relies on state to get the correct pgcit. */
|
||||||
|
pgcit = get_PGCIT(vm);
|
||||||
|
- assert(pgcit != NULL);
|
||||||
|
+ if(pgcit == NULL) {
|
||||||
|
+ fprintf(MSG_OUT, "libdvdnav: PGCIT null!\n");
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
#ifdef TRACE
|
||||||
|
fprintf(MSG_OUT, "libdvdnav: ** Searching for menu (0x%x) entry PGC\n", id);
|
||||||
|
#endif
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
From 2d73a2b3c6ccd3d45be194d482cfb09f8e5055e2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jean-Baptiste Kempf <jb@videolan.org>
|
||||||
|
Date: Sun, 31 Aug 2014 00:51:40 +0200
|
||||||
|
Subject: [PATCH 2/5] Return an error in dvdnav_get_position instead of
|
||||||
|
asserting
|
||||||
|
|
||||||
|
LP: #1236939
|
||||||
|
---
|
||||||
|
src/searching.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/searching.c b/src/searching.c
|
||||||
|
index f6e497e..74a16ee 100644
|
||||||
|
--- a/src/searching.c
|
||||||
|
+++ b/src/searching.c
|
||||||
|
@@ -563,7 +563,8 @@ dvdnav_status_t dvdnav_get_position(dvdnav_t *this, uint32_t *pos,
|
||||||
|
*len += cell->last_sector - cell->first_sector + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- assert((signed)*pos != -1);
|
||||||
|
+ if((signed)*pos == -1)
|
||||||
|
+ return DVDNAV_STATUS_ERR;
|
||||||
|
|
||||||
|
pthread_mutex_unlock(&this->vm_lock);
|
||||||
|
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -0,0 +1,30 @@
|
|||||||
|
From e225924870be20b03aa5e05b8bd1f524499fe722 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jean-Baptiste Kempf <jb@videolan.org>
|
||||||
|
Date: Sun, 31 Aug 2014 19:51:04 +0200
|
||||||
|
Subject: [PATCH 3/5] dvdnav_get_position: Fix mutex unlocking in case of error
|
||||||
|
|
||||||
|
---
|
||||||
|
src/searching.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/searching.c b/src/searching.c
|
||||||
|
index 74a16ee..93c7c2c 100644
|
||||||
|
--- a/src/searching.c
|
||||||
|
+++ b/src/searching.c
|
||||||
|
@@ -563,11 +563,11 @@ dvdnav_status_t dvdnav_get_position(dvdnav_t *this, uint32_t *pos,
|
||||||
|
*len += cell->last_sector - cell->first_sector + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ pthread_mutex_unlock(&this->vm_lock);
|
||||||
|
+
|
||||||
|
if((signed)*pos == -1)
|
||||||
|
return DVDNAV_STATUS_ERR;
|
||||||
|
|
||||||
|
- pthread_mutex_unlock(&this->vm_lock);
|
||||||
|
-
|
||||||
|
return DVDNAV_STATUS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.9.3
|
||||||
|
|
@ -1,10 +1,13 @@
|
|||||||
Name: libdvdnav
|
Name: libdvdnav
|
||||||
Version: 5.0.1
|
Version: 5.0.1
|
||||||
Release: 1%{?dist}
|
Release: 2.20140901gite225924%{?dist}
|
||||||
Summary: A library for reading DVD video discs based on Ogle code
|
Summary: A library for reading DVD video discs based on Ogle code
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://dvdnav.mplayerhq.hu/
|
URL: http://dvdnav.mplayerhq.hu/
|
||||||
Source0: ftp://ftp.videolan.org/pub/videolan/libdvdnav/%{version}/libdvdnav-%{version}.tar.bz2
|
Source0: ftp://ftp.videolan.org/pub/videolan/libdvdnav/%{version}/libdvdnav-%{version}.tar.bz2
|
||||||
|
Patch0: 0001-Do-not-assert-on-NULL-pgcit.patch
|
||||||
|
Patch1: 0002-Return-an-error-in-dvdnav_get_position-instead-of-as.patch
|
||||||
|
Patch2: 0003-dvdnav_get_position-Fix-mutex-unlocking-in-case-of-e.patch
|
||||||
BuildRequires: doxygen
|
BuildRequires: doxygen
|
||||||
BuildRequires: libdvdread-devel >= 4.1.3-0.3
|
BuildRequires: libdvdread-devel >= 4.1.3-0.3
|
||||||
|
|
||||||
@ -24,6 +27,9 @@ libdvdnav library.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --disable-static
|
%configure --disable-static
|
||||||
@ -54,6 +60,10 @@ rm %{buildroot}%{_libdir}/libdvdnav.la
|
|||||||
%{_libdir}/pkgconfig/dvdnav.pc
|
%{_libdir}/pkgconfig/dvdnav.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Oct 03 2014 Dominik Mierzejewski <rpm[AT]greysector.net> 5.0.1-2.20140901gite225924
|
||||||
|
- backport patches upstream git master to fix several known bugs
|
||||||
|
(LP #1236939, #570790)
|
||||||
|
|
||||||
* Sat Sep 20 2014 Dominik Mierzejewski <rpm[AT]greysector.net> 5.0.1-1
|
* Sat Sep 20 2014 Dominik Mierzejewski <rpm[AT]greysector.net> 5.0.1-1
|
||||||
- update to 5.0.1
|
- update to 5.0.1
|
||||||
- drop obsolete patches
|
- drop obsolete patches
|
||||||
|
Loading…
Reference in New Issue
Block a user