File: 0003-Fix-handling-of-VMware-cursors.patch

package info (click to toggle)
tigervnc 1.12.0%2Bdfsg-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 9,020 kB
  • sloc: cpp: 35,447; java: 34,251; ansic: 11,828; perl: 2,767; makefile: 911; sh: 364
file content (30 lines) | stat: -rw-r--r-- 997 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From 1a729dc0129052a028eae4582a6d6d10564d13c4 Mon Sep 17 00:00:00 2001
From: Pierre Ossman <ossman@cendio.se>
Date: Tue, 18 Jan 2022 13:38:41 +0100
Subject: [PATCH] Fix handling of VMware cursors

This is a regression from ad0f061. If a VMware cursor rect was split up
over multiple read()s then the stream would become corrupted as we set
the restore point at the wrong place.
---
 common/rfb/CMsgReader.cxx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: pkg-tigervnc/common/rfb/CMsgReader.cxx
===================================================================
--- pkg-tigervnc.orig/common/rfb/CMsgReader.cxx
+++ pkg-tigervnc/common/rfb/CMsgReader.cxx
@@ -632,11 +632,11 @@ bool CMsgReader::readSetVMwareCursor(int
   if (!is->hasData(1 + 1))
     return false;
 
+  is->setRestorePoint();
+
   type = is->readU8();
   is->skip(1);
 
-  is->setRestorePoint();
-
   if (type == 0) {
     int len = width * height * (handler->server.pf().bpp/8);
     rdr::U8Array andMask(len);