From f6fdddb9bac6d62891eb7c19611c0df1a7ce4b87 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 25 Feb 2020 09:54:48 -0700 Subject: [PATCH] Don't prefix QR codes with the length of the static marker string Fixes https://github.com/vector-im/riot-web/issues/12489 --- src/components/views/elements/crypto/VerificationQRCode.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/views/elements/crypto/VerificationQRCode.js b/src/components/views/elements/crypto/VerificationQRCode.js index cbbe2912d6..88f9608138 100644 --- a/src/components/views/elements/crypto/VerificationQRCode.js +++ b/src/components/views/elements/crypto/VerificationQRCode.js @@ -130,9 +130,9 @@ export default class VerificationQRCode extends React.PureComponent { tmpBuf.writeInt8(i, 0); buf = Buffer.concat([buf, tmpBuf]); }; - const appendStr = (s: string, enc: string) => { + const appendStr = (s: string, enc: string, withLengthPrefix = true) => { const tmpBuf = Buffer.from(s, enc); - appendInt(tmpBuf.byteLength); + if (withLengthPrefix) appendInt(tmpBuf.byteLength); buf = Buffer.concat([buf, tmpBuf]); }; const appendEncBase64 = (b64: string) => { @@ -142,7 +142,7 @@ export default class VerificationQRCode extends React.PureComponent { }; // Actually build the buffer for the QR code - appendStr(this.props.prefix, "ascii"); + appendStr(this.props.prefix, "ascii", false); appendByte(this.props.version); appendByte(this.props.mode); appendStr(this.props.transactionId, "utf-8");