)]}'
{
  "commit": "a24ab549e6ae246b391155d7bed3790ac0e07de2",
  "tree": "36f6f3eec37f463f7cae40c09a5b04ce80be6431",
  "parents": [
    "139adff9b27eaf0bdaac664ec4c9a7db2fe3f920"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Mar 25 15:26:25 2021 -0400"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Mon Mar 29 16:27:23 2021 +0000"
  },
  "message": "Use an unsized helper for truncated SHA-512 variants.\n\nAlthough it is strictly fine to call SHA512_Final in SHA384_Final\n(array sizes in C parameters are purely decorational, according to the\nlanguage), GCC 11 reportedly checks now and gets upset about the size\nmismatch. Use an unsized helper function so all our code matches the\nspecified bounds.\n\nUnfortunately, the bounds in all the functions are a bit misleading\nbecause SHA512_Final really outputs based on sha-\u003emd_len (which Init\nfunction you called) rather than which Final function. I\u0027ve fixed this\nplaces within a library where we mismatched and added asserts to the\nsmaller functions. SHA512_Final is assert-less because I\u0027ve seen lots of\ncode use SHA384_Init / SHA512_Update / SHA512_Final.\n\nThis doesn\u0027t fix the SHA256 variant since that is generated by a pile of\nmacros in a multiply-included file. This is probably a good opportunity\nto make that code less macro-heavy.\n\nUpdate-Note: There is a small chance the asserts will trip something,\nbut hopefully not since I\u0027ve left SHA512_Final alone.\n\nBug: 402\nChange-Id: I4c9d579a63ee0a0dea103c19ef219c13bb9aa62c\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/46405\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "16daeba650e2390c168fb4998450ba5182815816",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/digest/digests.c",
      "new_id": "f006ebbc53eea78ce0337a076a05285f22da7a18",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/digest/digests.c"
    },
    {
      "type": "modify",
      "old_id": "fd025743df5f8e2b4595fd5801b1083c24ac7dd9",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/sha/sha512.c",
      "new_id": "ba86c1edabb16bb56a4b0bc7be8b3a51cbc5a53b",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/sha/sha512.c"
    }
  ]
}
