From 10f4aa9e7b67d912a5c11f2a088215ae1c1466e1 Mon Sep 17 00:00:00 2001 From: VanyM Date: Thu, 5 Dec 2019 22:36:51 +0300 Subject: [PATCH] Add try catch in every place that uses decodeUTF8 --- kasmweb/core/rfb.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/kasmweb/core/rfb.js b/kasmweb/core/rfb.js index 07dd89a..c1035d7 100644 --- a/kasmweb/core/rfb.js +++ b/kasmweb/core/rfb.js @@ -1263,7 +1263,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; } @@ -1883,7 +1888,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);