)]}'
{
  "commit": "221d65ba534d23a240ccadd0c2679b222aae35b1",
  "tree": "07950512dbca4c48369966153f112b8298bad88d",
  "parents": [
    "b807c2fbab2128cf3746bb2ebd51cbe3bb6914a9"
  ],
  "author": {
    "name": "Benjamin Kaduk",
    "email": "bkaduk@akamai.com",
    "time": "Mon May 02 10:40:57 2022 -0700"
  },
  "committer": {
    "name": "Benjamin Kaduk",
    "email": "kaduk@mit.edu",
    "time": "Sun May 08 23:48:34 2022 -0700"
  },
  "message": "evp_md: assert digest is provided for algctx reuse\n\nWhen reusing an algctx (it was always freed on reinitialization,\nprior to #18105), assert that the associated digest is provided.\nWe implicitly rely on this for algctx reuse to be safe (since\nan implicit fetch could potentially change the digest object used,\nincluding provider, which accordingly could change the layout of the\nalgctx object.\n\nFrom code inspection, this is currently always the case -- the only\nway to set an algctx requires the provider to be set, and the only\nways to change or remove a provider without destroying the entier\nEVP_MD_CTX will also free the algctx.  Adding an assertion will help\nensure that this remains true as the code evolves.\n\nReviewed-by: Tomas Mraz \u003ctomas@openssl.org\u003e\nReviewed-by: Paul Dale \u003cpauli@openssl.org\u003e\n(Merged from https://github.com/openssl/openssl/pull/18224)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "02e8c4c47d2f386ad2a258f33f709c04728b0c58",
      "old_mode": 33188,
      "old_path": "crypto/evp/digest.c",
      "new_id": "e055c70a5f513f17c9aa42b197fe52651aadd932",
      "new_mode": 33188,
      "new_path": "crypto/evp/digest.c"
    }
  ]
}
