)]}'
{
  "commit": "35c1075e83f9ec1dc8f58137442bd1966b646b91",
  "tree": "4d690366c859f04bd4d03c33432a9171612587e4",
  "parents": [
    "ee0716f386190d2bfb105a0db7400df4915773a1"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Nov 27 16:22:28 2019 -0500"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Mon Dec 02 16:53:32 2019 +0000"
  },
  "message": "Give ERR_error_string_n a return value for convenience.\n\nERR_error_string_n needs to be called in a separate statement, compared\nto ERR_error_string(err, NULL), which returns a buffer and is very\nconvenient to use in an expression. This is unfortunate because it is\nnot thread-safe.\n\nGive ERR_error_string_n a return value to align. Fixing callers still\nrequires allocating a buffer somewhere, but the rest of the expression\ncan remain relatively unperturbed.\n\nChange-Id: I273c9df97f0bb113cdc57cf3896c42195910c67a\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/38964\nReviewed-by: Steven Valdez \u003csvaldez@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "43d3909ed8f103ab5e2f7aee8bb0512ea91cac4a",
      "old_mode": 33188,
      "old_path": "crypto/err/err.c",
      "new_id": "a432ce3fbb59e0c7aa0ff1869cad6dddf5f0dd7f",
      "new_mode": 33188,
      "new_path": "crypto/err/err.c"
    },
    {
      "type": "modify",
      "old_id": "4721f7572d50bc9f903f7715dd24815e1ac91f9d",
      "old_mode": 33188,
      "old_path": "include/openssl/err.h",
      "new_id": "f9cd9f25f2d07f38dca255cdc00d647eea7381fc",
      "new_mode": 33188,
      "new_path": "include/openssl/err.h"
    }
  ]
}
