)]}'
{
  "commit": "8597ea3afea067b39ba7d4adae7ec6c1ee0e7c91",
  "tree": "01419168b4f08949baeabe5b8650066e6a92732c",
  "parents": [
    "c1b3c71f4b4571abb2b2a457122fd100dc9f7eb0"
  ],
  "author": {
    "name": "Jeff King",
    "email": "peff@peff.net",
    "time": "Tue Jun 10 17:44:13 2014 -0400"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Jun 13 12:09:38 2014 -0700"
  },
  "message": "commit: record buffer length in cache\n\nMost callsites which use the commit buffer try to use the\ncached version attached to the commit, rather than\nre-reading from disk. Unfortunately, that interface provides\nonly a pointer to the NUL-terminated buffer, with no\nindication of the original length.\n\nFor the most part, this doesn\u0027t matter. People do not put\nNULs in their commit messages, and the log code is happy to\ntreat it all as a NUL-terminated string. However, some code\npaths do care. For example, when checking signatures, we\nwant to be very careful that we verify all the bytes to\navoid malicious trickery.\n\nThis patch just adds an optional \"size\" out-pointer to\nget_commit_buffer and friends. The existing callers all pass\nNULL (there did not seem to be any obvious sites where we\ncould avoid an immediate strlen() call, though perhaps with\nsome further refactoring we could).\n\nSigned-off-by: Jeff King \u003cpeff@peff.net\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "857d98a3247c9ba63cf14fa33c9d65fa5b77761b",
      "old_mode": 33188,
      "old_path": "builtin/blame.c",
      "new_id": "b84e375b5c5cdd2c6f0a18f0c57462131cb14ec3",
      "new_mode": 33188,
      "new_path": "builtin/blame.c"
    },
    {
      "type": "modify",
      "old_id": "7ee5e08442dd65e9f28541e21a2ab8a46af00f23",
      "old_mode": 33188,
      "old_path": "builtin/fast-export.c",
      "new_id": "05d161f19f138275a6ea995bf4b6b3b11c987693",
      "new_mode": 33188,
      "new_path": "builtin/fast-export.c"
    },
    {
      "type": "modify",
      "old_id": "01f6d59eefdc2d6ac413fcee406d88639d30805b",
      "old_mode": 33188,
      "old_path": "builtin/fmt-merge-msg.c",
      "new_id": "ef8b254ef218249f7f1b0f28db7ea21110851917",
      "new_mode": 33188,
      "new_path": "builtin/fmt-merge-msg.c"
    },
    {
      "type": "modify",
      "old_id": "42551ce4ff65c170fffb88c5e9bb639bfc83fe91",
      "old_mode": 33188,
      "old_path": "builtin/index-pack.c",
      "new_id": "459b9f07bb674e92a11df79e0c0445acb20c595a",
      "new_mode": 33188,
      "new_path": "builtin/index-pack.c"
    },
    {
      "type": "modify",
      "old_id": "2c742606bc44a5f5eb229e0ce0cf5c942a6fa924",
      "old_mode": 33188,
      "old_path": "builtin/log.c",
      "new_id": "c599eacf721124831c07a8e14ea14fe1b951f403",
      "new_mode": 33188,
      "new_path": "builtin/log.c"
    },
    {
      "type": "modify",
      "old_id": "3fcbf21c03a37b78edacca4810defa78c7cea915",
      "old_mode": 33188,
      "old_path": "builtin/rev-list.c",
      "new_id": "ff84a825ff776abc01087f37782223ee26a1af7a",
      "new_mode": 33188,
      "new_path": "builtin/rev-list.c"
    },
    {
      "type": "modify",
      "old_id": "e289c783270f57bb213ef60cd24d7b950c6d52da",
      "old_mode": 33188,
      "old_path": "commit.c",
      "new_id": "a036e181c7f9ff391052b0ca5d82d06310abdf88",
      "new_mode": 33188,
      "new_path": "commit.c"
    },
    {
      "type": "modify",
      "old_id": "e1c25692f10ecc520c40f73f4b4eb5180e366d1e",
      "old_mode": 33188,
      "old_path": "commit.h",
      "new_id": "61559a9d45d67f3fad012c74b2a7643d185e87b3",
      "new_mode": 33188,
      "new_path": "commit.h"
    },
    {
      "type": "modify",
      "old_id": "8223780592598d923c0c6807a23d67461b5c1f4e",
      "old_mode": 33188,
      "old_path": "fsck.c",
      "new_id": "a7233c8d0b20c06f0aebffbec9c11dacb22b6769",
      "new_mode": 33188,
      "new_path": "fsck.c"
    },
    {
      "type": "modify",
      "old_id": "e9ef8abd3712d9f4e7a323730d2d84704fc453d0",
      "old_mode": 33188,
      "old_path": "log-tree.c",
      "new_id": "444702163a0e80a5583c1bf3a82fa96e0da698fd",
      "new_mode": 33188,
      "new_path": "log-tree.c"
    },
    {
      "type": "modify",
      "old_id": "78908aaacc6676913b369e80c54d9e11444395bd",
      "old_mode": 33188,
      "old_path": "merge-recursive.c",
      "new_id": "a9ab328923db3f2b2c945c479386316333dfcd0a",
      "new_mode": 33188,
      "new_path": "merge-recursive.c"
    },
    {
      "type": "modify",
      "old_id": "e804db2d02820c3ba762eebbbe7b465a487d83b8",
      "old_mode": 33188,
      "old_path": "notes-merge.c",
      "new_id": "fd5fae255d2760d6b7895e95cee627b5e28f776e",
      "new_mode": 33188,
      "new_path": "notes-merge.c"
    },
    {
      "type": "modify",
      "old_id": "67b6e3533dafc39c05d3fa8559d2fbe6d2779a65",
      "old_mode": 33188,
      "old_path": "object.c",
      "new_id": "9c31e9a5e0e0d913044501089e09037e47894f03",
      "new_mode": 33188,
      "new_path": "object.c"
    },
    {
      "type": "modify",
      "old_id": "915bd1e2e96a165c05e8a67523c759be8f376c2b",
      "old_mode": 33188,
      "old_path": "pretty.c",
      "new_id": "b9fceedbb9ffe090af689178ead7218836208c31",
      "new_mode": 33188,
      "new_path": "pretty.c"
    },
    {
      "type": "modify",
      "old_id": "69bcf3d80190e1049ca0e1d25fec2615fac3d705",
      "old_mode": 33188,
      "old_path": "sequencer.c",
      "new_id": "bbaddcb05af3d720d8efd1d1d7c96ce1f9a35039",
      "new_mode": 33188,
      "new_path": "sequencer.c"
    },
    {
      "type": "modify",
      "old_id": "0a65d234de377f98207186b277901bd44436af6d",
      "old_mode": 33188,
      "old_path": "sha1_name.c",
      "new_id": "c2c938c4e161fc6849a87a7a19336712f36f74ff",
      "new_mode": 33188,
      "new_path": "sha1_name.c"
    }
  ]
}
