)]}'
{
  "commit": "6247347edd347b5a5c14b2a50a9c77659e77c24d",
  "tree": "77ede5c257333fd7980f3f110bec466fcccb2568",
  "parents": [
    "49e9f67d8b7cbeb3953b5548ad1009d15947a523"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Sat Aug 29 17:43:15 2020 -0400"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Thu Sep 17 19:09:17 2020 +0000"
  },
  "message": "Avoid unions in X509_NAME logic.\n\nCast between T* and ASN1_VALUE* directly, rather than messing with\nunions. This is necessary to avoid UB in C++ and is a strict aliasing\nviolation in C too. (While C does allow type-punning in unions, pointers\nto union fields have weird rules. I suspect most of our unions should be\nreworked.)\n\nChange-Id: Ibe274a7df5d5826f8c5f335255d196e9b7587105\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/42726\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "78241004d957db5fe66c57c3ba9909cb89b77701",
      "old_mode": 33188,
      "old_path": "crypto/x509/x_name.c",
      "new_id": "bef9ec471cb69e41fa3a13fbca6c7a422bcb6cfe",
      "new_mode": 33188,
      "new_path": "crypto/x509/x_name.c"
    }
  ]
}
