)]}'
{
  "commit": "27bc28d7f03fb9e3752980dce01de1a529236532",
  "tree": "68127c66d1715a51598b9579b971e4d16fa3020b",
  "parents": [
    "a218d49e02183a4b5d6ff2c3e4343bf4bbdfdc50"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Mar 05 12:43:19 2026 -0500"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Mar 09 03:22:27 2026 -0700"
  },
  "message": "Don\u0027t allow half-empty EVP_PKEYs to be passed into various APIs\n\nOpenSSL\u0027s API is poorly-typed and exposes many variations on empty\nstates. They are not reachable from typical callers, this is merely a\ntyping error in the OpenSSL API.\n\nPerforming operations on such objects will sometimes crash. While not\nideal, we do not consider this to be a security issue, nor much of a\nfunctional bug. Better would be to fix the APIs to eliminate as many\nhalf-empty states as possible, as we\u0027ve been doing in\ncrbug.com/42290409. Still, the X25519 one is difficult to avoid, so\nadd some EVP-wide null checks on a few functions.\n\nUltimately, however, this is a caller error.\n\nBug: 42290409\nFixed: 489983951\nChange-Id: I21dca6b3ee84659d812b9c17e5410fc5f516a7d0\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/90447\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Lily Chen \u003cchlily@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3ac78967ca618c367c02b585451b95767cadb965",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp.cc",
      "new_id": "d3b945f0b60d6654aff7e940af8020024ca2c09b",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp.cc"
    },
    {
      "type": "modify",
      "old_id": "f0e6d9a1c9730717397eb628c3746c756049a52b",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp_asn1.cc",
      "new_id": "e32a6f71ba6c792c529b5cb7788fc8fe33f5cbad",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp_asn1.cc"
    },
    {
      "type": "modify",
      "old_id": "4e0ad0a224145ec9723088be55fcb70dfed4030e",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp_ctx.cc",
      "new_id": "1a827bb6e0756b7ac70da17130cd6dc276da26ab",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp_ctx.cc"
    },
    {
      "type": "modify",
      "old_id": "8f57f841086293a633073b75bd154fe182b150cf",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp_extra_test.cc",
      "new_id": "c2bb0287ee2bc4bc8b7d9bcc5dc345a61b139c04",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp_extra_test.cc"
    }
  ]
}
