)]}'
{
  "commit": "0915a5b4cdf00a8c6c755b77b854725a183993b4",
  "tree": "9614e0bd72e228432eeb16a1c7219deb0061e3ed",
  "parents": [
    "076cbdcd739aeb33c1be87b73aebae5e43d7bcc5"
  ],
  "author": {
    "name": "Alexandr Miloslavskiy",
    "email": "alexandr.miloslavskiy@syntevo.com",
    "time": "Fri Mar 06 19:03:13 2020 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Mar 06 14:45:51 2020 -0800"
  },
  "message": "set_git_dir: fix crash when used with real_path()\n\n`real_path()` returns result from a shared buffer, inviting subtle\nreentrance bugs. One of these bugs occur when invoked this way:\n    set_git_dir(real_path(git_dir))\n\nIn this case, `real_path()` has reentrance:\n    real_path\n    read_gitfile_gently\n    repo_set_gitdir\n    setup_git_env\n    set_git_dir_1\n    set_git_dir\n\nLater, `set_git_dir()` uses its now-dead parameter:\n    !is_absolute_path(path)\n\nFix this by using a dedicated `strbuf` to hold `strbuf_realpath()`.\n\nSigned-off-by: Alexandr Miloslavskiy \u003calexandr.miloslavskiy@syntevo.com\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "944ec77fe1032775ff595f0b1eb99a1fb22d059f",
      "old_mode": 33188,
      "old_path": "builtin/init-db.c",
      "new_id": "5bf61a7e05662325f952c01149bf9328f4ff9ab4",
      "new_mode": 33188,
      "new_path": "builtin/init-db.c"
    },
    {
      "type": "modify",
      "old_id": "37c899b53f7c3d36f1145d33f19d5c8302b911f5",
      "old_mode": 33188,
      "old_path": "cache.h",
      "new_id": "8cee257d3d73a5d2ac58a5a4f8f051bd505c0398",
      "new_mode": 33188,
      "new_path": "cache.h"
    },
    {
      "type": "modify",
      "old_id": "e72a02d0d577dab4da0f559ed988899baff91fbc",
      "old_mode": 33188,
      "old_path": "environment.c",
      "new_id": "c436de31eef12946ee3223c06a4490df9c9dd49d",
      "new_mode": 33188,
      "new_path": "environment.c"
    },
    {
      "type": "modify",
      "old_id": "88cf59300738a2f10750ff458fa35b1211f00ab8",
      "old_mode": 33188,
      "old_path": "path.c",
      "new_id": "c5a8fe4f0c3c1273f6e6489077098d349fa101f3",
      "new_mode": 33188,
      "new_path": "path.c"
    },
    {
      "type": "modify",
      "old_id": "4ea7a0b081bfd20a87d413d887f6d6926dbde8ab",
      "old_mode": 33188,
      "old_path": "setup.c",
      "new_id": "fa4317e707a0ebf6629042cecee7a87a56e266dd",
      "new_mode": 33188,
      "new_path": "setup.c"
    }
  ]
}
