{"record":{"id":"ae5bd6a916ef1fd1","repo":"sqlmapproject/sqlmap","slug":"frame-header-must-be-exactly-9-bytes","errorCode":null,"errorMessage":"frame header must be exactly 9 bytes","messagePattern":"frame header must be exactly 9 bytes","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"lib/request/http2.py","lineNumber":285,"sourceCode":"    if not (0 <= ftype <= 0xff and 0 <= flags <= 0xff):\n        raise ValueError(\"frame type and flags must fit in one octet\")\n    if not (0 <= stream_id <= MAX_STREAM_ID):\n        raise ValueError(\"stream id must be between 0 and 2^31-1\")\n    if len(payload) > MAX_FRAME_SIZE:\n        raise ValueError(\"frame payload exceeds 24-bit length\")\n    header = struct.pack(\"!I\", len(payload))[1:]\n    header += struct.pack(\"!BBI\", ftype, flags, stream_id)\n    return header + payload\n\n\ndef decode_frame_header(nine):\n    \"\"\"Parse a 9-byte frame header into (length, type, flags, stream_id).\n\n    >>> decode_frame_header(encode_frame(DATA, 0, 1, b'')[:9])\n    (0, 0, 0, 1)\n    \"\"\"\n    if len(nine) != 9:\n        raise ValueError(\"frame header must be exactly 9 bytes\")\n    length = struct.unpack(\"!I\", b\"\\x00\" + nine[:3])[0]\n    ftype, flags, stream_id = struct.unpack(\"!BBI\", nine[3:9])\n    return length, ftype, flags, stream_id & MAX_STREAM_ID\n\n\n# ---------- Huffman ----------\ndef huffman_encode(data):\n    \"\"\"Huffman-encode a byte string using the RFC 7541 static code.\n\n    >>> huffman_decode(huffman_encode(b'www.example.com')) == b'www.example.com'\n    True\n    \"\"\"\n    data = _as_bytes(data)\n    if not data:\n        return b\"\"\n    acc = 0\n    nbits = 0\n    for item in bytearray(data):","sourceCodeStart":267,"sourceCodeEnd":303,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/lib/request/http2.py#L267-L303","documentation":"Error \"frame header must be exactly 9 bytes\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at lib/request/http2.py:285 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}