)]}'
{
  "log": [
    {
      "commit": "95b59c520b24aabcdc63b93a3f1eaf73e57a3afe",
      "tree": "76e43d9ec4f387c5774508c9e6c9d728a21c8052",
      "parents": [
        "9fc52deab1c6bec6a37860242eafe1ae4c205e44"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Mon Feb 13 17:27:59 2017 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Feb 14 15:50:28 2017 -0800"
      },
      "message": "add fortified implementations of send/sendto\n\nBug: None\nTest: Bullhead builds+boots; CtsBionicTestCases passes.\nChange-Id: I2f137a100f679f7f2145d84b2f29ddd3e96a36ae\n"
    },
    {
      "commit": "7cc779f15c524e1622f7d5b1c7e82e6ffc6677fd",
      "tree": "0f995c0878649447ef160e727505ae81495dcdde",
      "parents": [
        "2bfb8c9180603bac97dca2d8e359f71bb11f7126"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Feb 09 00:00:31 2017 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Feb 09 15:49:32 2017 -0800"
      },
      "message": "libc: add clang FORTIFY support\n\nThis patch adds clang-style FORTIFY to Bionic. For more information on\nFORTIFY, please see https://goo.gl/8HS2dW . This implementation works\nfor versions of clang that don\u0027t support diagnose_if, so please see the\n\"without diagnose_if\" sections. We plan to swap to a diagnose_if-based\nFORTIFY later this year (since it doesn\u0027t really add any features; it\njust simplifies the implementation a lot, and it gives us much prettier\ndiagnostics)\n\nBug: 32073964\nTest: Builds on angler, bullhead, marlin, sailfish. Bionic CTS tests\npass on Angler and Bullhead.\n\nChange-Id: I607aecbeee81529709b1eee7bef5b0836151eb2b\n"
    },
    {
      "commit": "8197aca7f2110fa764c1aecd005d878d8ddd3a3c",
      "tree": "574da9846618e33411c5ba2a03ca31c0add87155",
      "parents": [
        "166f875eabdd2b7c508fc4ed1789a0d37fb1bdce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 09:20:07 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 09:20:07 2016 -0700"
      },
      "message": "Fix recvfrom prototype.\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/functions/recvfrom.html\n\nChange-Id: Iba203c74045c88e53e28c2e0c8bc1f9ac63ce23e\n"
    },
    {
      "commit": "fb3873d4db3012ac2d1ba87d688138798787c6e0",
      "tree": "1e392110ebe5ca3b0f3f466e493c1085b403b864",
      "parents": [
        "f5042cab109f7136191fd316be1471532d2ddf71"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 10 11:07:54 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 10 11:50:12 2016 -0700"
      },
      "message": "Fortify vsnprintf in more cases.\n\nBug: http://b/30445072\nChange-Id: I1893890f0e3b56533eef053eda1bd96a0b9a5119\n"
    },
    {
      "commit": "bdd8f896ddf027491b1e4aa7013a429c8e5702b2",
      "tree": "a9a630f79a7645fa5e6fc3410028a7bdcfc03171",
      "parents": [
        "a3c2df93789bb7536bd96a01bbf952b6fcee269b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 26 16:38:34 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 26 16:38:34 2016 -0700"
      },
      "message": "Improve diagnostics from the assembler __strcpy_chk routines.\n\nChange-Id: Ib95b598f7f8338cc1a618c00232a4259dc4a6319\n"
    },
    {
      "commit": "c75da09f4fb4ee24f14d40de6f47f03ee29b1ba1",
      "tree": "304e2932b31d1c27ebb852622964d9f4d30f37c7",
      "parents": [
        "e85de5b103388f047cc307a362ee8cdc6ef010ec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed May 25 17:01:31 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 26 14:55:00 2016 -0700"
      },
      "message": "Improve diagnostics from the assembler __strcat_chk routines.\n\nChange-Id: I44cbe5389c66de6618e581a6e302eea22c39d6fb\n"
    },
    {
      "commit": "29d4b714264497da0f9ae3ee512fbfde5ccce26b",
      "tree": "201196ee170fa61baf2632a8083483285ab15ff7",
      "parents": [
        "728e0e9b97d7a43b4348062e4040d478c2ab8f51"
      ],
      "author": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Thu Mar 03 18:55:39 2016 -0800"
      },
      "committer": {
        "name": "Douglas Leung",
        "email": "douglas.leung@imgtec.com",
        "time": "Fri Mar 04 15:15:00 2016 -0800"
      },
      "message": "Add __memset_chk assembler for mips32 and mips64.\n\nChange-Id: I365b1f345c695850c30ccb1a9f56f254ce182000\n"
    },
    {
      "commit": "81d6a18c69b71288c0ab0f65e0ee594f752febc8",
      "tree": "89685f4a7848b242f6fbdf8caa42005aa059d7e7",
      "parents": [
        "f3b42e5ae7727234cac586c20c230466886a7232"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 03 16:10:33 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 03 16:10:33 2016 -0800"
      },
      "message": "Add x86 __memset_chk assembler.\n\nChange-Id: Ic6732f761ea8a41f70d5ff59d47ad38417d17cc2\n"
    },
    {
      "commit": "61c95fe52d1b729e643303182c720f6b45eb81ea",
      "tree": "46d5dbbeabbf9679a7a8b0c74a4b11f2f1b67ff0",
      "parents": [
        "5e57039c24d8aa777480e33255d627ca28af7dfe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 02 16:39:29 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 02 16:39:29 2016 -0800"
      },
      "message": "Mandate optimized assembler for x86-64 __memset_chk.\n\nChange-Id: I4d6b452f3cf850d405e8f5d7da01d432603e606b\n"
    },
    {
      "commit": "784609317d49e854813f1797d7a53cf7d4379643",
      "tree": "316b6fd124f4c46b72f382b5d703a99514c4fc30",
      "parents": [
        "2332d524396aa69c55969cf6e48a5048f12d53ea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 02 11:58:41 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 02 11:58:41 2016 -0800"
      },
      "message": "Mandate optimized __memset_chk for arm and arm64.\n\nThis involves actually implementing assembler __memset_chk for arm64,\nbut that\u0027s easily done.\n\nObviously I\u0027d like this for all architectures (and all the string functions),\nbut this is low-hanging fruit...\n\nChange-Id: I70ec48c91aafd1f0feb974a2555c51611de9ef82\n"
    },
    {
      "commit": "3c6016f04aa3a8e2660a7c68f0a28cbf30ff2f08",
      "tree": "2a6e44952a672033546ca9aba5b92a410d935bc3",
      "parents": [
        "c199690b5ffda0f4df50d1121f7ab577af1fe468"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 01 14:45:58 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 01 14:45:58 2016 -0800"
      },
      "message": "Improve diagnostics from the assembler __memcpy_chk routines.\n\nChange-Id: Iec16c92ed80beee505cba2121ea33e3550197b02\n"
    },
    {
      "commit": "62e59646f8795afac2eb4189a153e7decde370e7",
      "tree": "263b028a69cf045c2a3938a737d38399ff4e1a7a",
      "parents": [
        "2de7983470a04e3037a8993553c3b9533b985952"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 01 11:22:42 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 01 12:46:47 2016 -0800"
      },
      "message": "Improve diagnostics from the assembler __memset_chk routines.\n\nChange-Id: Ic165043ab8cd5e16866b3e11cfba960514cbdc57\n"
    },
    {
      "commit": "b83d6747facc5d819a0df0bcb8762477eecfd962",
      "tree": "4f5b7589c2cfe21756a85327818a88a9becbc781",
      "parents": [
        "e0959b4b164a26eb9931ed6925c71d7870c063fe"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 25 20:33:47 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 26 22:06:17 2016 -0800"
      },
      "message": "Improve FORTIFY failure diagnostics.\n\nOur FORTIFY _chk functions\u0027 implementations were very repetitive and verbose\nbut not very helpful. We\u0027d also screwed up and put the SSIZE_MAX checks where\nthey would never fire unless you actually had a buffer as large as half your\naddress space, which probably doesn\u0027t happen very often.\n\nFactor out the duplication and take the opportunity to actually show details\nlike how big the overrun buffer was, or by how much it was overrun.\n\nAlso remove the obsolete FORTIFY event logging.\n\nAlso remove the unused __libc_fatal_no_abort.\n\nThis change doesn\u0027t improve the diagnostics from the optimized assembler\nimplementations.\n\nChange-Id: I176a90701395404d50975b547a00bd2c654e1252\n"
    }
  ]
}
