Repository: trafficserver Updated Branches: refs/heads/master d2140cf01 -> b616e287c
TS-4082: Huffman Encoder can not encode "0" This closes #380 Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/b616e287 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/b616e287 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/b616e287 Branch: refs/heads/master Commit: b616e287c3035dcb3d41228d4e01b2b44f366c1a Parents: d2140cf Author: Masaori Koshiba <[email protected]> Authored: Wed Dec 16 14:39:20 2015 -0800 Committer: Bryan Call <[email protected]> Committed: Wed Dec 16 14:40:27 2015 -0800 ---------------------------------------------------------------------- proxy/http2/HuffmanCodec.cc | 4 +--- proxy/http2/test_Huffmancode.cc | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b616e287/proxy/http2/HuffmanCodec.cc ---------------------------------------------------------------------- diff --git a/proxy/http2/HuffmanCodec.cc b/proxy/http2/HuffmanCodec.cc index e5b9c80..bd9684d 100644 --- a/proxy/http2/HuffmanCodec.cc +++ b/proxy/http2/HuffmanCodec.cc @@ -429,9 +429,7 @@ huffman_encode(uint8_t *dst_start, const uint8_t *src, uint32_t src_len) } } - if (buf != 0) { - dst = huffman_encode_append(dst, buf, remain_bits / 8); - } + dst = huffman_encode_append(dst, buf, remain_bits / 8); // NOTE: Add padding w/ EOS uint32_t pad_len = remain_bits % 8; http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b616e287/proxy/http2/test_Huffmancode.cc ---------------------------------------------------------------------- diff --git a/proxy/http2/test_Huffmancode.cc b/proxy/http2/test_Huffmancode.cc index 8463f93..f873f13 100644 --- a/proxy/http2/test_Huffmancode.cc +++ b/proxy/http2/test_Huffmancode.cc @@ -149,6 +149,8 @@ const static struct { uint8_t *expect; int64_t expect_len; } huffman_encode_test_data[] = { + {(uint8_t *)"", 0, (uint8_t *) "", 0}, + {(uint8_t *)"0", 1, (uint8_t *) "\x07", 1}, {(uint8_t *)"302", 3, (uint8_t *) "\x64\x02", 2}, {(uint8_t *)"private", 7, (uint8_t *) "\xae\xc3\x77\x1a\x4b", 5}, {(uint8_t *)"Mon, 21 Oct 2013 20:13:21 GMT", 29,
