diff options
author | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2020-09-07 10:21:58 +0200 |
---|---|---|
committer | Timur Pocheptsov <timur.pocheptsov@qt.io> | 2020-09-07 15:50:02 +0200 |
commit | 3e210dc19a6f51e34a788bcd492741628224111c (patch) | |
tree | 5ef46a84c48aaa925b4f9f5d725509a4d7eea657 /src/network | |
parent | fec51be2095fbae5257b9a8ad4c82d3722a8cd5f (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')
-rw-r--r-- | src/network/access/http2/huffman.cpp | 6 |
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) |