From 3794c569261d00cfdd96fefaea6c8d78ff9936180de0707d4126a53cafa007ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Sat, 5 Jan 2019 22:57:29 +0000 Subject: [PATCH] Add upstream bug fix patch, builds against factory OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gupnp-igd?expand=0&rev=44 --- ...d-free-GStaticMutex-in-AddRemoveData.patch | 44 +++++++++++++++++++ gupnp-igd.changes | 8 ++++ gupnp-igd.spec | 16 ++++--- 3 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 gupnp-igd-free-GStaticMutex-in-AddRemoveData.patch diff --git a/gupnp-igd-free-GStaticMutex-in-AddRemoveData.patch b/gupnp-igd-free-GStaticMutex-in-AddRemoveData.patch new file mode 100644 index 0000000..8967e9e --- /dev/null +++ b/gupnp-igd-free-GStaticMutex-in-AddRemoveData.patch @@ -0,0 +1,44 @@ +From 761854febad29224c194fabb76c24f2701099c2f Mon Sep 17 00:00:00 2001 +From: Matthew Waters +Date: Fri, 10 Nov 2017 23:17:29 +1100 +Subject: [PATCH] free GStaticMutex in AddRemoveData + +Fixes a memory leak reported by valgrind + + 128 bytes in 16 blocks are definitely lost in loss record 6,923 of 7,784 + at 0x4C2CE5F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) + by 0x7AEAEB8: g_malloc (gmem.c:94) + by 0x7B02A25: g_slice_alloc (gslice.c:1025) + by 0x7AB6D9A: g_mutex_new (gthread-deprecated.c:1461) + by 0x7AB70B4: g_static_mutex_get_mutex_impl (gthread-deprecated.c:524) + by 0xBE6E74F: ??? (in /usr/lib/libgupnp-igd-1.0.so.4.2.0) + by 0x7AE5784: g_main_dispatch (gmain.c:3182) + by 0x7AE5784: g_main_context_dispatch (gmain.c:3847) + by 0x7AE5B4F: g_main_context_iterate.isra.30 (gmain.c:3920) + by 0x7AE5E61: g_main_loop_run (gmain.c:4116) + by 0xBE6ED7D: ??? (in /usr/lib/libgupnp-igd-1.0.so.4.2.0) + by 0x7B0D2A4: g_thread_proxy (gthread.c:784) + by 0x8028089: start_thread (in /usr/lib/libpthread-2.26.so) + by 0x833524E: clone (in /usr/lib/libc-2.26.so) + +https://bugzilla.gnome.org/show_bug.cgi?id=790165 +--- + libgupnp-igd/gupnp-simple-igd-thread.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libgupnp-igd/gupnp-simple-igd-thread.c b/libgupnp-igd/gupnp-simple-igd-thread.c +index 8212f76..f38e9b7 100644 +--- a/libgupnp-igd/gupnp-simple-igd-thread.c ++++ b/libgupnp-igd/gupnp-simple-igd-thread.c +@@ -450,6 +450,8 @@ free_add_remove_port_data (gpointer user_data) + g_free (data->local_ip); + g_free (data->description); + ++ g_static_mutex_free (&data->mutex); ++ + g_slice_free (struct AddRemovePortData, data); + } + +-- +2.18.1 + diff --git a/gupnp-igd.changes b/gupnp-igd.changes index 1b646dd..5783b40 100644 --- a/gupnp-igd.changes +++ b/gupnp-igd.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sat Jan 5 22:51:40 UTC 2019 - bjorn.lie@gmail.com + +- Add gupnp-igd-free-GStaticMutex-in-AddRemoveData.patch: Free + GStaticMutex in AddRemoveData. Fixes a memory leak reported by + valgrind. +- Modernize spec. + ------------------------------------------------------------------- Wed Feb 28 16:33:13 UTC 2018 - dimstar@opensuse.org diff --git a/gupnp-igd.spec b/gupnp-igd.spec index 562fff4..38f1f91 100644 --- a/gupnp-igd.spec +++ b/gupnp-igd.spec @@ -1,7 +1,7 @@ # # spec file for package gupnp-igd # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -25,6 +25,9 @@ Group: Development/Libraries/C and C++ URL: https://wiki.gnome.org/Projects/GUPnP Source: http://download.gnome.org/sources/gupnp-igd/0.2/%{name}-%{version}.tar.xz Source1: baselibs.conf +# PATCH-FIX-UPSTREAM gupnp-igd-free-GStaticMutex-in-AddRemoveData.patch -- Free GStaticMutex in AddRemoveData +Patch0: gupnp-igd-free-GStaticMutex-in-AddRemoveData.patch + BuildRequires: pkgconfig BuildRequires: pkgconfig(glib-2.0) >= 2.26 BuildRequires: pkgconfig(gobject-2.0) >= 2.26 @@ -69,12 +72,13 @@ GUPnP-IGD is a library to handle UPnP IGD port mapping. It is supposed to have a very simple API. %prep -%setup -q +%autosetup -p1 %build -%configure --disable-static - -make %{?_smp_mflags} +%configure \ + --disable-static \ + %{nil} +%make_build %install %make_install