src/pkg/fmt/scan.go | 2 +- src/pkg/fmt/scan_test.go | 3 +++ diff --git a/src/pkg/fmt/scan.go b/src/pkg/fmt/scan.go index afbbeb394805fe6b8101fce9a5f5f276578cecee..bd8af50069fbf3d088c296fed011a28b2ee36131 100644 --- a/src/pkg/fmt/scan.go +++ b/src/pkg/fmt/scan.go @@ -740,7 +740,7 @@ *v = int16(s.scanInt(verb, 16)) case *int32: *v = int32(s.scanInt(verb, 32)) case *int64: - *v = s.scanInt(verb, intBits) + *v = s.scanInt(verb, 64) case *uint: *v = uint(s.scanUint(verb, intBits)) case *uint8: diff --git a/src/pkg/fmt/scan_test.go b/src/pkg/fmt/scan_test.go index 90927898978e29745f45c643b81d4e83ee4e8c37..569d2f55f398fe50a88c3cdad6e5f3cf06d3eb9e 100644 --- a/src/pkg/fmt/scan_test.go +++ b/src/pkg/fmt/scan_test.go @@ -183,6 +183,9 @@ ScanTest{"115\n", &renamedBytesVal, renamedBytes([]byte("115"))}, // Custom scanner. ScanTest{" vvv ", &xVal, Xs("vvv")}, + + // Fixed bugs + ScanTest{"2147483648\n", &int64Val, int64(2147483648)}, // was: integer overflow } var scanfTests = []ScanfTest{