)]}'
{
  "commit": "5199c7adec3e3f3876a1b84cba909904e2ff48db",
  "tree": "7b897de0d55a33c54f0e0974350ed87f12758a97",
  "parents": [
    "b6eec48a579eff1abe70ce6d480a017d6ca3a32c"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Dec 09 14:13:30 2024 -0500"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Dec 09 19:57:14 2024 +0000"
  },
  "message": "Fix pointer arithmetic in ASN1_item_ex_free\n\nThe ASN1_ITYPE_SEQUENCE loop does the 90s C thing where we didn\u0027t trust\nour compilers and manually maintained loop variables as pointers. But\nsince this code is iterating backwards, it ends up creating a\none-before-the-start pointer. Unlike the one-past-the-end pointer, this\nis not legal.\n\nIt never does anything with this pointer, and the compiler would need to\nsee through quite a few functions to observe this UB, so it is unlikely\nthat this UB had any impact in practice, but we should still fix it. Fix\nthis by writing this code more straightforwardly.\n\nIn doing so, push variable declarations closer to their use, so it\u0027s\neasier to tell that i is an int.\n\nBug: 382414689\nChange-Id: I35fb2d3aba563c5be86aaca29de31f339bfdc297\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/74089\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3cb3d80d43b4e47835fcfeaf39da330ba247ec3b",
      "old_mode": 33188,
      "old_path": "crypto/asn1/tasn_fre.cc",
      "new_id": "22cff4dc520a6ad303066f64e757f6425327a6be",
      "new_mode": 33188,
      "new_path": "crypto/asn1/tasn_fre.cc"
    }
  ]
}
