From 5da7c7a71ac1db69902c3a2a80f8771713dde70f Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Thu, 28 Oct 2010 12:43:20 +0200 Subject: [PATCH] Added missing initialization of extension mutex When not calling rfbRegisterProtocolExtension() the extension mutex is uninitialized but used upon calling rfbGetExtensionIterator() and rfbReleaseExtensionIterator() in rfbNewTCPOrUDPClient(). This causes libvncserver to crash on Win32 when building with thread support. Signed-off-by: Tobias Doerffel Signed-off-by: Christian Beier --- libvncserver/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libvncserver/main.c b/libvncserver/main.c index 807d782..28bbc42 100644 --- a/libvncserver/main.c +++ b/libvncserver/main.c @@ -145,6 +145,11 @@ rfbUnregisterProtocolExtension(rfbProtocolExtension* extension) rfbProtocolExtension* rfbGetExtensionIterator() { + if (! extMutex_initialized) { + INIT_MUTEX(extMutex); + extMutex_initialized = 1; + } + LOCK(extMutex); return rfbExtensionHead; }