)]}'
{
  "commit": "7badc26301c8063dc2c6f171c11f9af4f3d0df20",
  "tree": "32ccf03522bacb163529e00c10df4798e5365808",
  "parents": [
    "368473f6120ff295253bcc0d774c6bd75d8cf98b"
  ],
  "author": {
    "name": "Stephen Hemminger",
    "email": "shemminger@vyatta.com",
    "time": "Thu Aug 05 10:26:31 2010 -0700"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul@quagga.net",
    "time": "Mon Mar 21 13:15:32 2011 +0000"
  },
  "message": "bgpd: fix use of free memory by update_rsclient\n\n* bgp_route.c: (bgp_static_update_rsclient) BGP sometimes crashes when\n  removing route server client because of use after free.\n\n  The code to update rsclient created a local static copy of bgp attributes\n  but neglected to handle the extra information pointer.  The extra\n  information was getting freed by bgp_attr_unintern() and reused later when\n  the copy was passed to bgp_attr_intern().\n\n  The fix is to use the attr_dup function to create a copy of the extra\n  information, then clean it up.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8b0a3bf9c16d5a88bbc94a5c814702449c07c3a4",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_route.c",
      "new_id": "fd51ad1a5bac66add9517e9be491c55b11f13957",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_route.c"
    }
  ]
}
