)]}'
{
  "commit": "750fea158acd38bb339203fdab216079d997a921",
  "tree": "c1e4c37ce42204aedda476bef04a53fb5adfbe35",
  "parents": [
    "ff433815b51c34496bb6bea13e73e29e5c278238"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Dec 05 13:12:48 2018 -0600"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Wed Dec 05 22:05:28 2018 +0000"
  },
  "message": "Fix d2i_*_bio on partial reads.\n\nIf BIO_read returns partial reads, d2i_*_bio currently fails. This is a\npartial (hah) regression from 419144adce049b5341bd94d355c52d099eac56e3.\nThe old a_d2i_fp.c code did *not* tolerate partial reads in the ASN.1\nheader, but it *did* tolerate them in the ASN.1 body. Since partial\nreads are more likely to land in the body than the header, I think we\ncan say d2i_*_bio was \"supposed to\" tolerate this but had a bug in the\nfirst few bytes.\n\nFix it for both cases. Add a regression test for this and the partial\nwrite case (which works fine).\n\nSee also https://github.com/google/conscrypt/pull/587.\n\nChange-Id: I886f6388f0b80621960e196cf2a56f5c02a14a04\nReviewed-on: https://boringssl-review.googlesource.com/c/33484\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fe40578b99c8da8107800b43adb8bee09dea04b5",
      "old_mode": 33188,
      "old_path": "crypto/bio/bio.c",
      "new_id": "7d97c3e7171d371d8dd56aa5c4c27291f7f21ed3",
      "new_mode": 33188,
      "new_path": "crypto/bio/bio.c"
    },
    {
      "type": "modify",
      "old_id": "c42a7c826a3feecbf7db45f0d1ef876f41ed1887",
      "old_mode": 33188,
      "old_path": "crypto/x509/x509_test.cc",
      "new_id": "a53ed7a69aa5fb391c03610abad645c8bd32abf6",
      "new_mode": 33188,
      "new_path": "crypto/x509/x509_test.cc"
    },
    {
      "type": "modify",
      "old_id": "8e2db65f6d7e3ad425371d1e5701d6013b0dee8f",
      "old_mode": 33188,
      "old_path": "include/openssl/bio.h",
      "new_id": "da0dcdfe640a0623753f0266adb3a5fe85ab8750",
      "new_mode": 33188,
      "new_path": "include/openssl/bio.h"
    }
  ]
}
