)]}'
{
  "commit": "5f1374e203b79f38349fe0568a31bd95e079f878",
  "tree": "eac52f110ab1dc344a3fab7237fbe32b5bcb7e7d",
  "parents": [
    "622a6db14eb4f5147b32c13353289c288f6c3818"
  ],
  "author": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Wed Oct 01 15:21:01 2014 -0700"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Tue Oct 07 01:38:05 2014 +0000"
  },
  "message": "Retain ownership of malloced error data.\n\nI misunderstood the OpenSSL semantics here. When receiving an error data\npointer via ERR_get_error_line_data and friends, although the error is\ncleared, OpenSSL retains ownership of the data pointer. It\u0027s kept in the\ncleared error until another error overrides it, or the whole error queue\nis cleared.\n\nIt\u0027s pretty odd to have live pointers in empty errors so this change\nallows an error queue to retain one data pointer. Thus the pointer\nreturned from ERR_get_error_line_data is valid until the next call to\nERR_get_error_line_data, or until the queue is freed.\n\nFrom reviewing uses of the API, this is sufficient for all of them.\n\nChange-Id: I73cb8e9c792452ae3c1a934ac8bbe8b5353b65b2\nReviewed-on: https://boringssl-review.googlesource.com/1880\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7ca284223b5ec5b5073a420a3f9639f755c8bdb9",
      "old_mode": 33188,
      "old_path": "crypto/err/err.c",
      "new_id": "5a79fb879cd14e14a64c3f5e2d4aa77b402a8980",
      "new_mode": 33188,
      "new_path": "crypto/err/err.c"
    },
    {
      "type": "modify",
      "old_id": "230cadae3e33f496f3539425171c39bb17cf1a43",
      "old_mode": 33188,
      "old_path": "crypto/err/err_test.c",
      "new_id": "cb100fe526fcffd4c1193cbfbb59a6ae03a8f4a4",
      "new_mode": 33188,
      "new_path": "crypto/err/err_test.c"
    },
    {
      "type": "modify",
      "old_id": "9843045e9f6b0cc5234d1b58334857d11a74e432",
      "old_mode": 33188,
      "old_path": "include/openssl/err.h",
      "new_id": "a7f30c75e7c5dd65c201094bda14e9866ca5d9d7",
      "new_mode": 33188,
      "new_path": "include/openssl/err.h"
    }
  ]
}
