]> git.proxmox.com Git - mirror_novnc.git/commitdiff
Add try catch in every place that uses decodeUTF8
authorVanyM <vanymdev@gmail.com>
Thu, 5 Dec 2019 19:36:51 +0000 (22:36 +0300)
committerVanyM <vanymdev@gmail.com>
Fri, 6 Dec 2019 06:44:11 +0000 (09:44 +0300)
core/rfb.js

index 6f02e4d298e4f79d0f0d823842ef286c02c11d1a..e584960516a444ad867ac35fccf8ae6936234fd9 100644 (file)
@@ -1179,7 +1179,12 @@ export default class RFB extends EventTargetMixin {
         /* Connection name/title */
         const name_length = this._sock.rQshift32();
         if (this._sock.rQwait('server init name', name_length, 24)) { return false; }
-        let name = decodeUTF8(this._sock.rQshiftStr(name_length));
+        let name = this._sock.rQshiftStr(name_length);
+        try {
+            name = decodeUTF8(name);
+        } catch (e) {
+            // bypass no-empty
+        }
 
         if (this._rfb_tightvnc) {
             if (this._sock.rQwait('TightVNC extended server init header', 8, 24 + name_length)) { return false; }
@@ -1716,7 +1721,11 @@ export default class RFB extends EventTargetMixin {
         }
 
         let name = this._sock.rQshiftStr(length);
-        name = decodeUTF8(name);
+        try {
+            name = decodeUTF8(name);
+        } catch (e) {
+            // bypass no-empty
+        }
 
         this._setDesktopName(name);