)]}'
{
  "commit": "f2029899b2c1dcf3e3120876794da088f42ad351",
  "tree": "6b35107b296911e593c05176601f539aca4061bf",
  "parents": [
    "695b2e1d566c4612714b23e8f1e283926379a8c3"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Sat Jun 25 23:26:24 2022 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Jul 07 16:02:46 2022 +0000"
  },
  "message": "Tidy up ASN1_GENERALIZEDTIME_adj and ASN1_UTCTIME_adj.\n\nASN1_STRING_set saves having to manually manage the ASN1_STRING\u0027s\nbuffer. Also size that buffer correctly and align the free_s vs tmps\nmismatch.\n\nWe can also assume OPENSSL_gmtime writes to the passed-in struct tm.\nEvery other caller already assumes this, and both POSIX (gmtime_r) and C\n(gmtime_s) agree this is valid.\n\nFinally, the cleanup logic is much simpler if we do all the time stuff\nbefore handling the maybe-object-reuse bits.\n\nChange-Id: I25befc8fa93a1a60246c6abcea6e5d58ee563b48\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/53227\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e31ac1d0be42c0826259446a7f022b77f32f44c0",
      "old_mode": 33188,
      "old_path": "crypto/asn1/a_gentm.c",
      "new_id": "283ff7d3498bf4d7f4cacc5376017fd97870b5a6",
      "new_mode": 33188,
      "new_path": "crypto/asn1/a_gentm.c"
    },
    {
      "type": "modify",
      "old_id": "ac548ddd390125f005506937c8cd84d45a70745e",
      "old_mode": 33188,
      "old_path": "crypto/asn1/a_utctm.c",
      "new_id": "ac6b5984839aa0a7caf36f1d40380c94e66a8d99",
      "new_mode": 33188,
      "new_path": "crypto/asn1/a_utctm.c"
    }
  ]
}
