)]}'
{
  "commit": "4f0813127bc0c525fca152bca4fea30b7490ae14",
  "tree": "90696f41851a2c27dee47644cbac5fe6057449bc",
  "parents": [
    "74e05e01e2de46dc817d747c646421125e59d6b1"
  ],
  "author": {
    "name": "Jan Beulich",
    "email": "jbeulich@suse.com",
    "time": "Wed Apr 19 11:43:26 2023 +0200"
  },
  "committer": {
    "name": "Jan Beulich",
    "email": "jbeulich@suse.com",
    "time": "Wed Apr 19 11:43:26 2023 +0200"
  },
  "message": "x86: parse_register() must not alter the parsed string\n\nThis reverts the code change done by 100f993c53a5 (\"x86: Check\nunbalanced braces in memory reference\"), which wrongly identified\ne87fb6a6d0cd (\"x86/gas: support quoted address scale factor in AT\u0026T\nsyntax\") as the root cause of PR gas/30248. (The testcase is left in\nplace, no matter that it\u0027s at best marginally useful in that shape.)\n\nThe problem instead is that parse_register() alters the string handed to\nit, thus breaking valid assumptions in subsequent parsing code. Since\nthe function\u0027s behavior is a result of get_symbol_name()\u0027s, make a copy\nof the incoming string before invoking that function.\n\nLike for parse_real_register() follow the model of strtol() et al: input\nstring is const-qualified to signal that the string isn\u0027t altered, but\nthe returned \"end\" pointer is not const-qualified, requiring const to be\ncast away (which generally is a bad idea, but the alternative would\nagain be more convoluted code).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "063c9705dddc1e5459bb385d3cbcff1707f32164",
      "old_mode": 33188,
      "old_path": "gas/config/tc-i386.c",
      "new_id": "7fdd71b490ddc02a956d3798bd50f6699f3ea79c",
      "new_mode": 33188,
      "new_path": "gas/config/tc-i386.c"
    }
  ]
}
