From 3353b329fc2f91e9c97cac37b827217de79e0edf Mon Sep 17 00:00:00 2001 From: Olivier Le Moal Date: Tue, 13 Mar 2018 00:22:38 +0100 Subject: [PATCH] Fix wrong reply size in NativeMessagingBase * Using length() on QString won't return correct size in bytes when string contains UTF-8 chars. --- src/browser/NativeMessagingBase.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/browser/NativeMessagingBase.cpp b/src/browser/NativeMessagingBase.cpp index 743953e9..f61a3604 100644 --- a/src/browser/NativeMessagingBase.cpp +++ b/src/browser/NativeMessagingBase.cpp @@ -121,7 +121,8 @@ void NativeMessagingBase::sendReply(const QJsonObject& json) void NativeMessagingBase::sendReply(const QString& reply) { if (!reply.isEmpty()) { - uint len = reply.length(); + QByteArray bytes = reply.toUtf8(); + uint len = bytes.size(); std::cout << char(((len>>0) & 0xFF)) << char(((len>>8) & 0xFF)) << char(((len>>16) & 0xFF)) << char(((len>>24) & 0xFF)); std::cout << reply.toStdString() << std::flush; }