summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vlc-2.2.6-fix-memleak.patch48
-rw-r--r--vlc-2.2.8-libupnp-1.6.24.patch32
2 files changed, 80 insertions, 0 deletions
diff --git a/vlc-2.2.6-fix-memleak.patch b/vlc-2.2.6-fix-memleak.patch
new file mode 100644
index 000000000000..de5c1ac153b2
--- /dev/null
+++ b/vlc-2.2.6-fix-memleak.patch
@@ -0,0 +1,48 @@
+From 66dc09662ae33d44c21a5159885afdcaabb0cbb0 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Filip=20Ros=C3=A9en?= <filip@atch.se>
+Date: Fri, 23 Sep 2016 13:52:31 +0200
+Subject: [PATCH] video_output/xcb: fix memory-leak in ReleaseDrawable
+
+The problem with the previous implementation is that "n" will never
+be equal to 0 at the relevant part of the code (given the
+unconditional pre-increment a few lines earlier).
+
+These changes fixes the issue by freeing the allocated memory if the
+first element of "used" is NULL (meaning that there are no more
+entities referred to by it).
+
+fixes #17112
+fixes #17293
+
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+---
+ modules/video_output/xcb/window.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/modules/video_output/xcb/window.c b/modules/video_output/xcb/window.c
+index 02c9dd11e3..0c4f86f68c 100644
+--- a/modules/video_output/xcb/window.c
++++ b/modules/video_output/xcb/window.c
+@@ -538,12 +538,15 @@ static void ReleaseDrawable (vlc_object_t *obj, xcb_window_t window)
+ used[n] = used[n + 1];
+ while (used[++n]);
+
+- if (n == 0)
+- var_SetAddress (obj->p_libvlc, "xid-in-use", NULL);
++ if (!used[0])
++ var_SetAddress (obj->p_libvlc, "xid-in-use", NULL);
++ else
++ used = NULL;
++
+ vlc_mutex_unlock (&serializer);
+
+- if (n == 0)
+- free (used);
++ free( used );
++
+ /* Variables are reference-counted... */
+ var_Destroy (obj->obj.libvlc, "xid-in-use");
+ }
+--
+2.11.0
+
diff --git a/vlc-2.2.8-libupnp-1.6.24.patch b/vlc-2.2.8-libupnp-1.6.24.patch
new file mode 100644
index 000000000000..4878550e182b
--- /dev/null
+++ b/vlc-2.2.8-libupnp-1.6.24.patch
@@ -0,0 +1,32 @@
+From 9288c513fd7288ea85cd162aa610ca6d7e083992 Mon Sep 17 00:00:00 2001
+From: anthraxx <levente@leventepolyak.net>
+Date: Fri, 11 Jan 2018 23:57:53 +0100
+Subject: [PATCH] avoid defining getter functions present in libupnp 1.6.24
+
+---
+ modules/services_discovery/upnp.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules/services_discovery/upnp.cpp b/modules/services_discovery/upnp.cpp
+index b265113..f18afd6 100644
+--- a/modules/services_discovery/upnp.cpp
++++ b/modules/services_discovery/upnp.cpp
+@@ -50,6 +50,7 @@ typedef Upnp_Action_Complete UpnpActionComplete;
+ typedef Upnp_Event UpnpEvent;
+ typedef Upnp_Event_Subscribe UpnpEventSubscribe;
+
++#if UPNP_VERSION < 10624
+ static const char* UpnpDiscovery_get_Location_cstr( const UpnpDiscovery* p_discovery )
+ {
+ return p_discovery->Location;
+@@ -74,6 +75,7 @@ static const char* UpnpEventSubscribe_get_SID_cstr( const UpnpEventSubscribe* p_
+ {
+ return p_s->Sid;
+ }
++#endif
+ #else
+ typedef const void* UpnpEventPtr;
+ #endif
+--
+2.15.1
+