)]}'
{
  "commit": "7907c6c9d34a4f19dd7d4d8d81c3c8ae5000ee07",
  "tree": "c57450ba246a26d4c37f1c2339b977d8293ee04d",
  "parents": [
    "330009f7b3742462ebd90f9c16f1ab734344b68c"
  ],
  "author": {
    "name": "ajs",
    "email": "ajs",
    "time": "Tue Jul 26 19:55:31 2005 +0000"
  },
  "committer": {
    "name": "ajs",
    "email": "ajs",
    "time": "Tue Jul 26 19:55:31 2005 +0000"
  },
  "message": "2005-07-26 Andrew J. Schorr \u003cajschorr@alumni.princeton.edu\u003e\n\t* prefix.c: (prefix_ipv4_new, prefix_ipv6_new): Call prefix_new\n\t  to allocate the memory to make sure that all struct prefix pointers\n\t  point to objects of the same length (avoids memory overruns\n\t  on struct prefix assignments).\n\t  (prefix_ipv4_free, prefix_ipv6_free): Simply call prefix_free.\n\t  It is interesting to note that these functions are never actually\n\t  called anywhere in the code.  Instead prefix_free was already\n\t  being called directly, despite the previous MTYPE incompatibility.\n\n\t[backport candidate]\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f67f2c1e521d4f8c01d3fb2d0b1e55a70b92c66b",
      "old_mode": 33188,
      "old_path": "lib/ChangeLog",
      "new_id": "42e80bd22d65c5c9cd062efa3c7bc56e1370c290",
      "new_mode": 33188,
      "new_path": "lib/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "1806ac4987d6ade99cbf28b7d1bc68de37fb3440",
      "old_mode": 33188,
      "old_path": "lib/prefix.c",
      "new_id": "c6922036b1833a899ac01e08d30a1fbeadabd9e0",
      "new_mode": 33188,
      "new_path": "lib/prefix.c"
    }
  ]
}
