diff --git a/common/rfb/SConnection.cxx b/common/rfb/SConnection.cxx index 02865af183..f70d21dced 100644 --- a/common/rfb/SConnection.cxx +++ b/common/rfb/SConnection.cxx @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -59,7 +60,7 @@ SConnection::SConnection() is(0), os(0), reader_(0), writer_(0), ssecurity(0), authFailureTimer(this, &SConnection::handleAuthFailureTimeout), state_(RFBSTATE_UNINITIALISED), preferredEncoding(encodingRaw), - clientClipboard(NULL), hasLocalClipboard(false), + accessRights(0x0000), clientClipboard(NULL), hasLocalClipboard(false), unsolicitedClipboardAttempt(false) { defaultMajorVersion = 3; @@ -346,6 +347,8 @@ void SConnection::setAccessRights(AccessRights ar) bool SConnection::accessCheck(AccessRights ar) const { + assert(state_ >= RFBSTATE_QUERYING); + return (accessRights & ar) == ar; }