[Android] UPnP: Add patch to fix discovery

Geoffrey Métais git at videolan.org
Thu Aug 8 13:53:50 CEST 2019


vlc-android | branch: 3.2.x | Geoffrey Métais <geoffrey.metais at gmail.com> | Tue Aug  6 15:44:35 2019 +0200| [dcee75d9251d205219d0e0b298027230e670638a] | committer: Geoffrey Métais

UPnP: Add patch to fix discovery

This patch was in 3.1 release then disappeared.

(cherry picked from commit 055078a68f2e3a6bf1328de0d414016d0bd01a25)

> https://code.videolan.org/videolan/vlc-android/commit/dcee75d9251d205219d0e0b298027230e670638a
---

 ...-upnp-Fix-potential-race-during-tear-down.patch | 30 ++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/libvlc/patches/vlc3/libvlc_patches_0007-upnp-Fix-potential-race-during-tear-down.patch b/libvlc/patches/vlc3/libvlc_patches_0007-upnp-Fix-potential-race-during-tear-down.patch
new file mode 100644
index 000000000..b885c9800
--- /dev/null
+++ b/libvlc/patches/vlc3/libvlc_patches_0007-upnp-Fix-potential-race-during-tear-down.patch
@@ -0,0 +1,30 @@
+From 584a75d9091f146dc001ef4ddad5c5a390dcd0cc Mon Sep 17 00:00:00 2001
+Message-Id: <584a75d9091f146dc001ef4ddad5c5a390dcd0cc.1565098819.git.geoffrey.metais at gmail.com>
+From: =?UTF-8?q?Hugo=20Beauz=C3=A9e-Luyssen?= <hugo at beauzee.fr>
+Date: Fri, 15 Mar 2019 15:41:50 +0100
+Subject: [PATCH] upnp: Fix potential race during tear down.
+
+If two threads call UpnpFinish at the same time (or more precisely, if a
+2nd thread calls UpnpFinish before the first one sets UpnpSdkInit to 0)
+we can end up double releasing most libupnp resources
+---
+ modules/services_discovery/upnp.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/services_discovery/upnp.cpp b/modules/services_discovery/upnp.cpp
+index f1037c82c8..16ed325724 100644
+--- a/modules/services_discovery/upnp.cpp
++++ b/modules/services_discovery/upnp.cpp
+@@ -1709,8 +1709,8 @@ void UpnpInstanceWrapper::release(bool isSd)
+         p_delete = s_instance;
+         s_instance = NULL;
+     }
+-    vlc_mutex_unlock( &s_lock );
+     delete p_delete;
++    vlc_mutex_unlock( &s_lock );
+ }
+ 
+ UpnpClient_Handle UpnpInstanceWrapper::handle() const
+-- 
+2.20.1
+



More information about the Android mailing list