summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xlibvncserver/auth.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/libvncserver/auth.c b/libvncserver/auth.c
index 0994c53..2a8fcb4 100755
--- a/libvncserver/auth.c
+++ b/libvncserver/auth.c
@@ -129,6 +129,13 @@ rfbVncAuthSendChallenge(rfbClientPtr cl)
* Different security types will be added by applications using this library.
*/
+static rfbSecurityHandler primaryVncSecurityHandler = {
+ 1,
+ rfbVncAuthSendChallenge,
+ NULL
+};
+
+
static void
rfbSendSecurityTypeList(rfbClientPtr cl, int primaryType)
{
@@ -141,11 +148,8 @@ rfbSendSecurityTypeList(rfbClientPtr cl, int primaryType)
/* Fill in the list of security types in the client structure. */
if (primaryType != rfbSecTypeInvalid) {
- rfbSecurityHandler* handler = calloc(sizeof(rfbSecurityHandler),1);
- handler->type = primaryType;
- handler->handler = rfbVncAuthSendChallenge;
- handler->next = NULL;
- rfbRegisterSecurityHandler(handler);
+ primaryVncSecurityHandler.type = primaryType;
+ rfbRegisterSecurityHandler(&primaryVncSecurityHandler);
}
for (handler = securityHandlers;