Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-3747

Error in Huffman decoder for HPACK

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 5.3.2, 6.0.0
    • HTTP/2

    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
      

      Attachments

        Activity

          People

            bcall Bryan Call
            bcall Bryan Call
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: