From 93cc0db437d00f7ffa8886368f1e4085837dcf5a Mon Sep 17 00:00:00 2001 From: "wimba.com" Date: Wed, 13 Oct 2004 16:19:45 +0000 Subject: [PATCH] Changed RfbProto to use the same encoding type check as the vnc viewer, meaning that cursor position updates won't be subject to the bounds check and possibly causing an exception. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2537 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- java/src/com/tightvnc/rfbplayer/RfbProto.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/src/com/tightvnc/rfbplayer/RfbProto.java b/java/src/com/tightvnc/rfbplayer/RfbProto.java index e776ef6c..952dc8df 100644 --- a/java/src/com/tightvnc/rfbplayer/RfbProto.java +++ b/java/src/com/tightvnc/rfbplayer/RfbProto.java @@ -50,6 +50,8 @@ class RfbProto { 0xFFFFFF18, EncodingLastRect = 0xFFFFFF20, EncodingNewFBSize = 0xFFFFFF21; + final static int MaxNormalEncoding = 7; + final int HextileRaw = (1 << 0); final int HextileBackgroundSpecified = (1 << 1); final int HextileForegroundSpecified = (1 << 2); @@ -214,8 +216,7 @@ class RfbProto { updateRectH = is.readUnsignedShort(); updateRectEncoding = is.readInt(); - if ((updateRectEncoding == EncodingLastRect) || - (updateRectEncoding == EncodingNewFBSize)) + if (updateRectEncoding < 0 || updateRectEncoding > MaxNormalEncoding) return; if ((updateRectX + updateRectW > framebufferWidth) || -- 2.39.5