diff options
-rwxr-xr-x | libvncserver/auth.c | 14 |
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; |