Browse Source

Throw exception instead on bad access check

An assert will kill the entire server, which is overly harsh when there
is a problem with a single connection. Instead, throw an exception which
will just disconnect that specific client.
pull/1611/head
Pierre Ossman 1 year ago
parent
commit
6b7a69e807
1 changed files with 2 additions and 2 deletions
  1. 2
    2
      common/rfb/SConnection.cxx

+ 2
- 2
common/rfb/SConnection.cxx View File

@@ -23,7 +23,6 @@

#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <rfb/Exception.h>
#include <rfb/Security.h>
#include <rfb/clipboardTypes.h>
@@ -347,7 +346,8 @@ void SConnection::setAccessRights(AccessRights ar)

bool SConnection::accessCheck(AccessRights ar) const
{
assert(state_ >= RFBSTATE_QUERYING);
if (state_ < RFBSTATE_QUERYING)
throw Exception("SConnection::accessCheck: invalid state");

return (accessRights & ar) == ar;
}

Loading…
Cancel
Save