)]}'
{
  "commit": "5da256175a9f7a5f82afcd475ac71eb5c065fac8",
  "tree": "7c149fee01015b69a4fb0a6fe8ed071de89d31ca",
  "parents": [
    "c5c5fe47a628c8d26f926cf4d0ccff57b3efb8ee"
  ],
  "author": {
    "name": "Jørgen Kvalsvik",
    "email": "j@lambda.is",
    "time": "Tue Sep 01 14:14:13 2026 +0200"
  },
  "committer": {
    "name": "Jørgen Kvalsvik",
    "email": "j@lambda.is",
    "time": "Tue Sep 01 14:41:54 2026 +0200"
  },
  "message": "Check past-the-end before dereferencing iterator\n\nGuard the dereference in the case where the current cursor in the\nneedle isn\u0027t a tombstone in case we\u0027re at the end of the\nhaystack. Example pair:\n\n  NEEDLE:   6 x x 4 6\n  HAYSTACK: 4 6 x x 4\n\nWe find the subsequence 6 4, but the needle is not yet at end (missing\n6) while the haystack is moved past the end:\n\n  NEEDLE:   6 x x 4 6\n                    ^\n  HAYSTACK: 4 6 x x 4\n                      ^\n\nIf the haystack (super) is exhausted before the needle (sub) we know\nit isn\u0027t a proper subsequence, so this is the correct behaviour.\n\nThis example was in the testsuite and caught by ASAN.\n\n\tPR gcov-profile/127038\n\ngcc/ChangeLog:\n\n\t* gcov.cc (tombstone_subsequence_p): Guard iterator\n\tdereference.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "87deeadcc756bf57391b59347298933ebfb5ec14",
      "old_mode": 33188,
      "old_path": "gcc/gcov.cc",
      "new_id": "0ad48eb1b5444d56a900ccd51a57821fd0a5467b",
      "new_mode": 33188,
      "new_path": "gcc/gcov.cc"
    }
  ]
}
