{"record":{"id":"c9a77cc99ce2ece8","repo":"jackc/pgx","slug":"received-an-invalid-size-for-an-inet-d","errorCode":null,"errorMessage":"Received an invalid size for an inet: %d","messagePattern":"Received an invalid size for an inet: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgtype/inet.go","lineNumber":156,"sourceCode":"\n\tif !prefix.IsValid() {\n\t\treturn nil, nil\n\t}\n\n\treturn prefix, nil\n}\n\ntype scanPlanBinaryInetToNetipPrefixScanner struct{}\n\nfunc (scanPlanBinaryInetToNetipPrefixScanner) Scan(src []byte, dst any) error {\n\tscanner := (dst).(NetipPrefixScanner)\n\n\tif src == nil {\n\t\treturn scanner.ScanNetipPrefix(netip.Prefix{})\n\t}\n\n\tif len(src) != 8 && len(src) != 20 {\n\t\treturn fmt.Errorf(\"Received an invalid size for an inet: %d\", len(src))\n\t}\n\n\t// ignore family\n\tbits := src[1]\n\t// ignore is_cidr\n\t// ignore addressLength - implicit in length of message\n\n\taddr, ok := netip.AddrFromSlice(src[4:])\n\tif !ok {\n\t\treturn errors.New(\"netip.AddrFromSlice failed\")\n\t}\n\n\treturn scanner.ScanNetipPrefix(netip.PrefixFrom(addr, int(bits)))\n}\n\ntype scanPlanTextAnyToNetipPrefixScanner struct{}\n\nfunc (scanPlanTextAnyToNetipPrefixScanner) Scan(src []byte, dst any) error {","sourceCodeStart":138,"sourceCodeEnd":174,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgtype/inet.go#L138-L174","documentation":"A binary inet/cidr value must be exactly 8 bytes (IPv4) or 20 bytes (IPv6); the server sent a different length. The malformed inet binary representation is at fault, indicating protocol corruption or a non-inet value decoded as inet.","triggerScenarios":"Thrown at pgtype/inet.go:156 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Treat as protocol/data corruption — verify the column is inet/cidr","Check for driver/server version mismatch or wire tampering"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ec1a0befd22592cffffdeeb0a50311b506372f4c","analyzedAt":"2026-08-04T22:52:11.263Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}