diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/rfb/SMsgReader.cxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/common/rfb/SMsgReader.cxx b/common/rfb/SMsgReader.cxx index 89c9a8fd..3c08fd6f 100644 --- a/common/rfb/SMsgReader.cxx +++ b/common/rfb/SMsgReader.cxx @@ -200,6 +200,9 @@ void SMsgReader::readClientCutText() { is->skip(3); int len = is->readU32(); + if (len < 0) { + throw Exception("Cut text too long."); + } if (len > maxCutText) { is->skip(len); vlog.error("Cut text too long (%d bytes) - ignoring", len); |