{"id":"06cec82c492ebf23","repo":"jackc/pgx","slug":"netip-addrfromslice-failed","errorCode":null,"errorMessage":"netip.AddrFromSlice failed","messagePattern":"netip\\.AddrFromSlice failed","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgtype/inet.go","lineNumber":166,"sourceCode":"func (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 {\n\tscanner := (dst).(NetipPrefixScanner)\n\n\tif src == nil {\n\t\treturn scanner.ScanNetipPrefix(netip.Prefix{})\n\t}\n\n\tvar prefix netip.Prefix\n\tif bytes.IndexByte(src, '/') == -1 {\n\t\taddr, err := netip.ParseAddr(string(src))\n\t\tif err != nil {","sourceCodeStart":148,"sourceCodeEnd":184,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgtype/inet.go#L148-L184","documentation":"Error \"netip.AddrFromSlice failed\" thrown in jackc/pgx.","triggerScenarios":"Thrown at pgtype/inet.go:166 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"ec1a0befd22592cffffdeeb0a50311b506372f4c","analyzedAt":"2026-08-04T22:52:11.263Z","schemaVersion":2}