Description
In the code that was failing before the fix, it was using the ascii code value to determine if it was at a leaf node in the tree. This didn't work for the charter '\0' since it wouldn't think it was a leaf node and would run off the tree. The fix was to add a leaf node flag instead of using the ascii value.
#0 0x00000000006427d0 in huffman_decode ( dst_start=0x2af80db6756a "XXX", src_len=99) at HuffmanCodec.cc:373 #1 0x000000000064345f in decode_string (arena=..., str=0x2af689e1adf8, str_length=@0x2af689e1adf4, buf_start=0x2af689e1b0fb "XXX") at HPACK.cc:548 #2 0x00000000006438ae in decode_literal_header_field (header=..., buf_start=0x2af689e1b0fa "XXX", buf_end=0x2af689e1b1d1 "XXX", dynamic_table=...) at HPACK.cc:650 #3 0x0000000000638c61 in http2_parse_header_fragment (hdr=0x2af7f5efb178, iov=..., dynamic_table=..., cont=false) at HTTP2.cc:672 #4 0x0000000000641b88 in Http2Stream::decode_request_header (this=0x2af7f5efb150, iov=..., dynamic_table=..., cont=false) at Http2ConnectionState.h:150 #5 0x000000000063fcdc in rcv_continuation_frame (cs=..., cstate=..., frame=...) at Http2ConnectionState.cc:544