)]}'
{
  "commit": "7c860a4f8e0ddd33bed326dfa7903c9c2ba12433",
  "tree": "bcf88f25a6fe6f271bbce348fde10e9cfae910e8",
  "parents": [
    "92272956a6335e61f99b76b26b9bd677fb9c9706"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Feb 13 09:49:26 2023 -0500"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Feb 22 19:50:24 2023 +0000"
  },
  "message": "Gracefully handle DSA objects with missing fields\n\nOpenSSL\u0027s APIs are full of empty objects that aren\u0027t captured in the\ntype system. A DSA object may represent any of nothing, a group, a\npublic key, or a private key.\n\nSince the type system doesn\u0027t capture this, better to check which type\nwe\u0027ve got and NULL-check the fields we need for the operation.\n\nChange-Id: I32b09ebaad58fcb2a0bfc9ad56d381f95099bf7b\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/57225\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4d9b1f01ed91b21f65808e424efe247d8ecf9bea",
      "old_mode": 33188,
      "old_path": "crypto/dsa/dsa.c",
      "new_id": "0418e09887fd208a794ba0c2ee3f7a3cdeefc9ff",
      "new_mode": 33188,
      "new_path": "crypto/dsa/dsa.c"
    },
    {
      "type": "modify",
      "old_id": "dc1956eba0a997661e6335a5633c703495519264",
      "old_mode": 33188,
      "old_path": "crypto/dsa/dsa_test.cc",
      "new_id": "878e67db6ff5002acac4fb2162ed27fea4a96535",
      "new_mode": 33188,
      "new_path": "crypto/dsa/dsa_test.cc"
    }
  ]
}
