sqlmapproject/sqlmap · error · H2CompressionError

HPACK integer encoding is too long

Error message

HPACK integer encoding is too long

What it means

Error "HPACK integer encoding is too long" thrown in sqlmapproject/sqlmap.

Source

Thrown at lib/request/http2.py:409

    value = data[pos] & mask
    pos += 1
    if value < mask:
        return value, pos
    shift = 0
    while True:
        if pos >= len(data):
            raise H2CompressionError("truncated HPACK integer")
        item = data[pos]
        pos += 1
        addend = (item & 0x7f) << shift
        if addend > max_value - value:
            raise H2CompressionError("HPACK integer exceeds implementation limit")
        value += addend
        if not (item & 0x80):
            return value, pos
        shift += 7
        if shift > 28:
            raise H2CompressionError("HPACK integer encoding is too long")


def encode_string(value, huffman=True):
    value = _as_bytes(value)
    if huffman:
        encoded = huffman_encode(value)
        if len(encoded) < len(value):
            return encode_integer(len(encoded), 7, 0x80) + bytearray(encoded)
    return encode_integer(len(value), 7, 0x00) + bytearray(value)


def decode_string(data, pos):
    if pos < 0 or pos >= len(data):
        raise H2CompressionError("truncated HPACK string")
    use_huffman = bool(data[pos] & 0x80)
    length, pos = decode_integer(data, pos, 7, max_value=MAX_HEADER_BLOCK_SIZE)
    end = pos + length
    if end > len(data):

View on GitHub (pinned to 0a35b20e39)

When it happens

Trigger: Thrown at lib/request/http2.py:409 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sqlmapproject/sqlmap@0a35b20e39 (2026-08-26). Data as JSON: /api/errors/584715c0a34ae4c8. Report an issue: GitHub.