summaryrefslogtreecommitdiffstats
path: root/src/network/access
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2020-09-07 10:21:58 +0200
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2020-09-07 15:50:02 +0200
commit3e210dc19a6f51e34a788bcd492741628224111c (patch)
tree5ef46a84c48aaa925b4f9f5d725509a4d7eea657 /src/network/access
parentfec51be2095fbae5257b9a8ad4c82d3722a8cd5f (diff)
Huffman compression: handle QByteArray's elements as unsigned char
Fixes: QTBUG-86418 Pick-to: 5.15 Change-Id: Ie57ecad2b1fda7c2fc0de60cbdb4304c00e645d0 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/network/access')
-rw-r--r--src/network/access/http2/huffman.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/network/access/http2/huffman.cpp b/src/network/access/http2/huffman.cpp
index 0c1aa54dd6..3cc6f9f01e 100644
--- a/src/network/access/http2/huffman.cpp
+++ b/src/network/access/http2/huffman.cpp
@@ -392,8 +392,10 @@ quint64 huffman_encoded_bit_length(const QByteArray &inputData)
void huffman_encode_string(const QByteArray &inputData, BitOStream &outputStream)
{
- for (int i = 0, e = inputData.size(); i < e; ++i)
- write_huffman_code(outputStream, staticHuffmanCodeTable[int(inputData[i])]);
+ for (int i = 0, e = inputData.size(); i < e; ++i) {
+ const auto value = uchar(inputData[i]);
+ write_huffman_code(outputStream, staticHuffmanCodeTable[value]);
+ }
// Pad bits ...
if (outputStream.bitLength() % 8)