{"record":{"id":"9d59117005bd2353","repo":"mitmproxy/mitmproxy","slug":"not-a-tnetstring-absurdly-large-length-prefix","errorCode":null,"errorMessage":"not a tnetstring: absurdly large length prefix","messagePattern":"not a tnetstring: absurdly large length prefix","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"mitmproxy/io/tnetstring.py","lineNumber":176,"sourceCode":"\n\ndef load(file_handle: BinaryIO) -> TSerializable:\n    \"\"\"load(file) -> object\n\n    This function reads a tnetstring from a file and parses it into a\n    python object.  The file must support the read() method, and this\n    function promises not to read more data than necessary.\n    \"\"\"\n    #  Read the length prefix one char at a time.\n    #  Note that the netstring spec explicitly forbids padding zeros.\n    c = file_handle.read(1)\n    if c == b\"\":  # we want to detect this special case.\n        raise ValueError(\"not a tnetstring: empty file\")\n    data_length = b\"\"\n    while c.isdigit():\n        data_length += c\n        if len(data_length) > 12:\n            raise ValueError(\"not a tnetstring: absurdly large length prefix\")\n        c = file_handle.read(1)\n    if c != b\":\":\n        raise ValueError(\"not a tnetstring: missing or invalid length prefix\")\n\n    data = memoryview(file_handle.read(int(data_length)))\n    data_type = file_handle.read(1)[0]\n\n    return parse(data_type, data)\n\n\ndef parse(data_type: int, data: memoryview) -> TSerializable:\n    if data_type == ord(b\",\"):\n        return data.tobytes()\n    if data_type == ord(b\";\"):\n        return str(data, \"utf8\")\n    if data_type == ord(b\"#\"):\n        try:\n            return int(data)","sourceCodeStart":158,"sourceCodeEnd":194,"githubUrl":"https://github.com/mitmproxy/mitmproxy/blob/2ac5b089d953585c66026a53f678270e094e48e5/mitmproxy/io/tnetstring.py#L158-L194","documentation":"Error \"not a tnetstring: absurdly large length prefix\" thrown in mitmproxy/mitmproxy.","triggerScenarios":"Thrown at mitmproxy/io/tnetstring.py:176 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":"2ac5b089d953585c66026a53f678270e094e48e5","analyzedAt":"2026-08-26T07:49:02.629Z","schemaVersion":2},"datasetVersion":"2026-08-26T14:46:13.012Z"}