Merge pull request #1327 from vanym/decodeUTF8_try_catch

Fixes exception when desktop name contains non-utf8 character
This commit is contained in:
Samuel Mannehed 2019-12-07 20:12:27 +01:00 committed by GitHub
commit 84a8c1b0cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 2 deletions

View 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);