[gtk-vnc] Handle ZRLE encoding of zero size alpha cursor



commit ec2e9ab4370fc64cfbcf0b336364d877980c77ed
Author: Johannes Maibaum <jmaibaum gmail com>
Date:   Wed Feb 23 09:39:50 2022 +0000

    Handle ZRLE encoding of zero size alpha cursor

 src/vncconnection.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
---
diff --git a/src/vncconnection.c b/src/vncconnection.c
index 475cfcb..9f97f17 100644
--- a/src/vncconnection.c
+++ b/src/vncconnection.c
@@ -3297,10 +3297,24 @@ static void vnc_connection_alpha_cursor(VncConnection *conn, guint16 x, guint16
         switch (encoding) {
         case VNC_CONNECTION_ENCODING_RAW:
             break;
+        case VNC_CONNECTION_ENCODING_ZRLE: {
+            guint32 length = vnc_connection_read_u32(conn);
+            if (vnc_connection_has_error(conn)) {
+                return;
+            }
+            if (length != 0) {
+                vnc_connection_set_error(conn,
+                                         "Read non-zero length %u for zero sized ZRLE alpha cursor",
+                                         length);
+                return;
+            }
+            break;
+        }
         default:
             vnc_connection_set_error(conn,
                                      "Unsupported encoding %u for zero size alpha cursor",
                                      encoding);
+            return;
             break;
         }
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]