)]}'
{
  "commit": "fdfcd7543e8c2c045ea215b17e6e772a9770018a",
  "tree": "c9476214a8fbeff67feec0516fae24b55eefa1e4",
  "parents": [
    "251e7af9924f9d3132a7b2f1f0f9563c829bc419"
  ],
  "author": {
    "name": "brian m. carlson",
    "email": "sandals@crustytoothpaste.net",
    "time": "Sun Jul 19 01:08:42 2026 +0000"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Sun Jul 19 16:26:09 2026 -0700"
  },
  "message": "rust: discard hash context when finished\n\nWhen we allocate a context but then abandon it, we never discard it,\nwhich means that the underlying crypto library context may leak.  This\ndoesn\u0027t happen with our default block code, but it may with OpenSSL.\nNote that we do call git_hash_free, which frees the memory we called\nfrom git_hash_alloc, but doesn\u0027t discard the underlying context itself.\n\nThis can be seen with the following command when compiling with OpenSSL\nand running with nightly Rust:\n\n    RUSTFLAGS\u003d\u0027-Z sanitizer\u003dleak\u0027 cargo test\n\nDiscard the context in our context handler.  Note that it is fine to do\nso even after finalizing the context, so our final functions which take\nself instead of \u0026mut self will not mishandle memory.\n\nSigned-off-by: brian m. carlson \u003csandals@crustytoothpaste.net\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4d14e4b4fabc8bd02ed97b1809b8c66c27bc7309",
      "old_mode": 33188,
      "old_path": "src/hash.rs",
      "new_id": "e1f2d31fc362391382a20d0bdcebba3070235878",
      "new_mode": 33188,
      "new_path": "src/hash.rs"
    }
  ]
}
