)]}'
{
  "commit": "05a8209fa708db240d9e5134a05c3184ee80dfa1",
  "tree": "12b642dd8aae80b6bdc02b7917039218485d02e5",
  "parents": [
    "0f214ba59c20c0c9c7ba841ecc3683f863965312"
  ],
  "author": {
    "name": "rootkiller6788",
    "email": "17553215+rootkiller6788@user.noreply.gitee.com",
    "time": "Sat Sep 12 23:48:01 2026 +0800"
  },
  "committer": {
    "name": "rootkiller6788",
    "email": "17553215+rootkiller6788@user.noreply.gitee.com",
    "time": "Sat Sep 12 23:48:01 2026 +0800"
  },
  "message": "lib/suitar: reset bIndex after flushing a full block\n\nWrite left w.bIndex at 512 once a full block had been written out, so the\nnext loop iteration took the \"partial block\" branch, copied zero bytes and\nwent round again forever, writing the same 512 bytes over and over. Calling\nWrite with sizes that aren\u0027t multiples of 512 is enough to hit this.\n\nIt also duplicated the last data block when a Write call happened to end\nexactly on a block boundary, because flush then saw a non-zero bIndex and\nwrote the block out a second time.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6055806c091019e0d980b79f37dd2abdd28d2418",
      "old_mode": 33188,
      "old_path": "lib/suitar/suitar.go",
      "new_id": "9da6a16c2a7650e0276ebfe8ce8c8f032c8b8f7e",
      "new_mode": 33188,
      "new_path": "lib/suitar/suitar.go"
    }
  ]
}
