commit
9187ae7605
@ -0,0 +1 @@
|
|||||||
|
dea39f6891c70d0861ed0f6b83be7dab455cd174 SOURCES/dleyna-server-0.6.0.tar_2.gz
|
@ -0,0 +1 @@
|
|||||||
|
SOURCES/dleyna-server-0.6.0.tar_2.gz
|
@ -0,0 +1,66 @@
|
|||||||
|
From 3f62e9fbd3de11df52184ca8dfcabfb7d1c0fdeb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Robert Tiemann <rtie@gmx.de>
|
||||||
|
Date: Fri, 17 May 2019 12:43:04 +0200
|
||||||
|
Subject: [PATCH] Avoid possible crash when getting server properties.
|
||||||
|
|
||||||
|
The crash occurs when calling dls_device_get_all_props() for a content
|
||||||
|
directory server that we have not yet subscribed to (that is,
|
||||||
|
prv_cds_subscribed() returns FALSE in
|
||||||
|
prv_get_system_update_id_for_props()). This crash is caused by an
|
||||||
|
invalid GVariantBuilder passed to g_variant_builder_end() in
|
||||||
|
prv_get_sleeping_for_props(), leading to a NULL result pointer being
|
||||||
|
passed to dls_async_task_complete(). A GVariant is attempted to be
|
||||||
|
constructed from this NULL pointer in dls_task_complete().
|
||||||
|
|
||||||
|
Here is the call chain that leads to the crash:
|
||||||
|
|
||||||
|
dls_device_get_all_props()
|
||||||
|
prv_get_system_update_id_for_props()
|
||||||
|
gupnp_service_proxy_begin_action("GetSystemUpdateID") -> prv_system_update_id_for_props_cb()
|
||||||
|
prv_system_update_id_for_props_cb()
|
||||||
|
prv_get_sr_token_for_props()
|
||||||
|
prv_get_sleeping_for_props()
|
||||||
|
dls_async_task_complete()
|
||||||
|
cb_data->cb() -> prv_async_task_complete()
|
||||||
|
prv_async_task_complete()
|
||||||
|
dls_task_complete()
|
||||||
|
g_variant_new()
|
||||||
|
|
||||||
|
The crash was most likely observed when a device running Plex Media
|
||||||
|
Server was present on the network.
|
||||||
|
|
||||||
|
This commit moves the call of g_variant_builder_end() in
|
||||||
|
prv_system_update_id_for_props_cb() (which invalidates the
|
||||||
|
GVariantBuilder used later in prv_get_sleeping_for_props()) to the
|
||||||
|
error handling branch. This leaves the GVariantBuilder alone and
|
||||||
|
allows prv_get_sr_token_for_props() or one of its descendants to call
|
||||||
|
g_variant_builder_end() and complete the task.
|
||||||
|
---
|
||||||
|
libdleyna/server/device.c | 5 ++---
|
||||||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libdleyna/server/device.c b/libdleyna/server/device.c
|
||||||
|
index d77dfbc2725b..8777da0ea2db 100644
|
||||||
|
--- a/libdleyna/server/device.c
|
||||||
|
+++ b/libdleyna/server/device.c
|
||||||
|
@@ -2256,15 +2256,14 @@ static void prv_system_update_id_for_props_cb(GUPnPServiceProxy *proxy,
|
||||||
|
DLS_SYSTEM_UPDATE_VAR,
|
||||||
|
g_variant_new_uint32(id));
|
||||||
|
|
||||||
|
- cb_data->task.result = g_variant_ref_sink(g_variant_builder_end(
|
||||||
|
- cb_task_data->vb));
|
||||||
|
-
|
||||||
|
on_complete:
|
||||||
|
|
||||||
|
if (!cb_data->error)
|
||||||
|
prv_get_sr_token_for_props(proxy, cb_data->task.target.device,
|
||||||
|
cb_data);
|
||||||
|
else {
|
||||||
|
+ cb_data->task.result = g_variant_ref_sink(g_variant_builder_end(
|
||||||
|
+ cb_task_data->vb));
|
||||||
|
(void) g_idle_add(dls_async_task_complete, cb_data);
|
||||||
|
g_cancellable_disconnect(cb_data->cancellable,
|
||||||
|
cb_data->cancel_id);
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
@ -0,0 +1,141 @@
|
|||||||
|
%global api 1.0
|
||||||
|
|
||||||
|
Name: dleyna-server
|
||||||
|
Version: 0.6.0
|
||||||
|
Release: 3%{?dist}
|
||||||
|
Summary: Service for interacting with Digital Media Servers
|
||||||
|
|
||||||
|
License: LGPLv2
|
||||||
|
URL: https://01.org/dleyna/
|
||||||
|
Source0: https://01.org/sites/default/files/downloads/dleyna/%{name}-%{version}.tar_2.gz
|
||||||
|
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1464902
|
||||||
|
Patch0: dleyna-server-Avoid-possible-crash-when-getting-server-properties.patch
|
||||||
|
|
||||||
|
BuildRequires: autoconf automake libtool
|
||||||
|
BuildRequires: pkgconfig(dleyna-core-1.0) >= 0.5.0
|
||||||
|
BuildRequires: pkgconfig(gio-2.0) >= 2.28
|
||||||
|
BuildRequires: pkgconfig(glib-2.0) >= 2.28
|
||||||
|
BuildRequires: pkgconfig(gobject-2.0) >= 2.28
|
||||||
|
BuildRequires: pkgconfig(gssdp-1.0) >= 0.13.2
|
||||||
|
BuildRequires: pkgconfig(gupnp-1.0) >= 0.20.3
|
||||||
|
BuildRequires: pkgconfig(gupnp-av-1.0) >= 0.11.5
|
||||||
|
BuildRequires: pkgconfig(gupnp-dlna-2.0) >= 0.9.4
|
||||||
|
BuildRequires: pkgconfig(libsoup-2.4) >= 2.28.2
|
||||||
|
Requires: dbus
|
||||||
|
Requires: dleyna-connector-dbus%{?_isa}
|
||||||
|
|
||||||
|
%description
|
||||||
|
D-Bus service for clients to discover and manipulate DLNA Digital Media
|
||||||
|
Servers (DMSes).
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
autoreconf -fiv
|
||||||
|
%configure \
|
||||||
|
--disable-silent-rules \
|
||||||
|
--disable-static
|
||||||
|
|
||||||
|
# Omit unused direct shared library dependencies.
|
||||||
|
sed --in-place --expression 's! -shared ! -Wl,--as-needed\0!g' libtool
|
||||||
|
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
find $RPM_BUILD_ROOT -name '*.la' -delete -print
|
||||||
|
|
||||||
|
# We don't need a -devel package because only the daemon is supposed to be
|
||||||
|
# using the library.
|
||||||
|
rm -rf $RPM_BUILD_ROOT/%{_includedir}
|
||||||
|
rm -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/libdleyna-server-%{api}.so
|
||||||
|
rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%doc AUTHORS
|
||||||
|
%doc ChangeLog
|
||||||
|
%doc README
|
||||||
|
%{_datadir}/dbus-1/services/com.intel.%{name}.service
|
||||||
|
|
||||||
|
%dir %{_libdir}/%{name}
|
||||||
|
%{_libdir}/%{name}/libdleyna-server-%{api}.so.*
|
||||||
|
|
||||||
|
%{_libexecdir}/%{name}-service
|
||||||
|
%config(noreplace) %{_sysconfdir}/%{name}-service.conf
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Dec 11 2020 Debarshi Ray <rishi@fedoraproject.org> - 0.6.0-3
|
||||||
|
- Avoid crash when getting server properties
|
||||||
|
Resolves: #1464902
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Oct 06 2017 Debarshi Ray <rishi@fedoraproject.org> - 0.6.0-1
|
||||||
|
- Update to 0.6.0
|
||||||
|
|
||||||
|
* Thu Oct 05 2017 Debarshi Ray <rishi@fedoraproject.org> - 0.5.0-9
|
||||||
|
- Use arch-specific Requires on dleyna-connector-dbus
|
||||||
|
|
||||||
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Mar 03 2017 Debarshi Ray <rishi@fedoraproject.org> - 0.5.0-6
|
||||||
|
- Fix build failure due to missing header
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Sep 16 2016 Debarshi Ray <rishi@fedoraproject.org> - 0.5.0-4
|
||||||
|
- Fix crash due to double-free when destroying the same dls_upnp_t or
|
||||||
|
dls_manager_t twice (RH #1251365)
|
||||||
|
- Use make_build and make_install macros
|
||||||
|
- Update minimum required versions; use pkgconfig(...) for BRs
|
||||||
|
- Miscellaneous clean-ups
|
||||||
|
|
||||||
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue May 12 2015 Debarshi Ray <rishi@fedoraproject.org> - 0.5.0-1
|
||||||
|
- Update to 0.5.0
|
||||||
|
|
||||||
|
* Mon May 11 2015 Nils Philippsen <nils@redhat.com> - 0.4.0-8
|
||||||
|
- rebuild for new dleyna-core
|
||||||
|
|
||||||
|
* Tue Feb 24 2015 Bastien Nocera <bnocera@redhat.com> 0.4.0-7
|
||||||
|
- Fix warning on totem startup
|
||||||
|
|
||||||
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Feb 24 2014 Debarshi Ray <rishi@fedoraproject.org> - 0.4.0-4
|
||||||
|
- Pass -v to autoreconf and -print to find
|
||||||
|
|
||||||
|
* Fri Feb 21 2014 Debarshi Ray <rishi@fedoraproject.org> - 0.4.0-3
|
||||||
|
- Fix the Source0 as per
|
||||||
|
https://fedoraproject.org/wiki/Packaging:SourceURL#Github
|
||||||
|
|
||||||
|
* Tue Feb 11 2014 Debarshi Ray <rishi@fedoraproject.org> - 0.4.0-2
|
||||||
|
- Mention the full commit hash corresponding to the release as per
|
||||||
|
https://fedoraproject.org/wiki/Packaging:SourceURL#Github
|
||||||
|
|
||||||
|
* Wed Jan 15 2014 Bastien Nocera <bnocera@redhat.com> - 0.4.0-1
|
||||||
|
- Initial version
|
Loading…
Reference in new issue