)]}'
{
  "commit": "42cc4ca30a7729a4c6d1bb0bbbc3e4a736ef91c8",
  "tree": "b94fe64f4a0815a52502eea0cebd1bb7c56e2a64",
  "parents": [
    "a700ae98630b4e4dd03a0ead627941d6bb1d55bf"
  ],
  "author": {
    "name": "Alberto Donizetti",
    "email": "alb.donizetti@gmail.com",
    "time": "Wed Aug 22 14:01:22 2018 +0200"
  },
  "committer": {
    "name": "Alberto Donizetti",
    "email": "alb.donizetti@gmail.com",
    "time": "Sun Aug 26 21:52:27 2018 +0000"
  },
  "message": "cmd/compile: prevent overflow in walkinrange\n\nIn the compiler frontend, walkinrange indiscriminately calls Int64()\non const CTINT nodes, even though Int64\u0027s return value is undefined\nfor anything over 2⁶³ (in practise, it\u0027ll return a negative number).\n\nThis causes the introduction of bad constants during rewrites of\nunsigned expressions, which make the compiler reject valid Go\nprograms.\n\nThis change introduces a preliminary check that Int64() is safe to\ncall on the consts on hand. If it isn\u0027t, walkinrange exits without\ndoing any rewrite.\n\nFixes #27143\n\nChange-Id: I2017073cae65468a521ff3262d4ea8ab0d7098d9\nReviewed-on: https://go-review.googlesource.com/130735\nRun-TryBot: Josh Bleecher Snyder \u003cjosharian@gmail.com\u003e\nTryBot-Result: Gobot Gobot \u003cgobot@golang.org\u003e\nReviewed-by: Josh Bleecher Snyder \u003cjosharian@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ceb124e31e39c52865cfdc36d97e6ac47a0f781d",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/gc/const.go",
      "new_id": "1403a2be11edfa66cf42871e55a8847bca6cfaf4",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/gc/const.go"
    },
    {
      "type": "modify",
      "old_id": "bd936fb70a038ccbcdc7b5aa31ce9eb48f5d95f9",
      "old_mode": 33188,
      "old_path": "src/cmd/compile/internal/gc/walk.go",
      "new_id": "2993e08fc2b688e9c04291fc440a1c023183209f",
      "new_mode": 33188,
      "new_path": "src/cmd/compile/internal/gc/walk.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "009ec9f6c255efd23cb5b9ff6f18a6f454e71cba",
      "new_mode": 33188,
      "new_path": "test/fixedbugs/issue27143.go"
    }
  ]
}
