Ver código fonte

Reject too large screen resize requests

We'll just crash later if we try to use such a large screen, so reject
the request from the client instead and keep the server running.
tags/v1.10.90
Pierre Ossman 4 anos atrás
pai
commit
e97da59a76
1 arquivos alterados com 5 adições e 0 exclusões
  1. 5
    0
      common/rfb/VNCServerST.cxx

+ 5
- 0
common/rfb/VNCServerST.cxx Ver arquivo

@@ -527,6 +527,11 @@ unsigned int VNCServerST::setDesktopSize(VNCSConnectionST* requester,
unsigned int result;
std::list<VNCSConnectionST*>::iterator ci, ci_next;

// We can't handle a framebuffer larger than this, so don't let a
// client set one (see PixelBuffer.cxx)
if ((fb_width > 16384) || (fb_height > 16384))
return resultProhibited;

// Don't bother the desktop with an invalid configuration
if (!layout.validate(fb_width, fb_height))
return resultInvalid;

Carregando…
Cancelar
Salvar