)]}'
{
  "commit": "0088b5dc55a91d27e572484e61df71b8ca2eddf4",
  "tree": "f93714f98d12890f961794cd026b6bf2de75105e",
  "parents": [
    "dde7258666fd73878b4cc10b4b5b7c07e9be049e"
  ],
  "author": {
    "name": "Stephen Hemminger",
    "email": "shemminger@vyatta.com",
    "time": "Thu May 21 08:51:03 2009 -0700"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul@quagga.net",
    "time": "Thu Jun 18 20:18:28 2009 +0100"
  },
  "message": "[bgpd] reference count the BGP instance\n\nWhen a BGP instance is deleted with lots of routes and neighbors\nit is possible for the peer rsclient queue to run after\nbgp_delete has been called. This would lead to bgpd crashing,\nsee https://bugzilla.vyatta.com/show_bug.cgi?id\u003d3436\n\nThe fix is to add reference counting to the BGP instance and defer\nactual freeing until all references are gone.\n\nThis patch also fixes a memory leak where the self-reference\npeer instance was being created but never freed.\n\nThe check in bgp_clear_route is no longer valid because it is possible\nfor it to be called when peer is in Deleted state during cleanup.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "01b3898a05327a130b1ddb127ca81d19d8d6fe36",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_route.c",
      "new_id": "a44d47abaadfd6cdd7a38758908390fbe25c99c8",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_route.c"
    },
    {
      "type": "modify",
      "old_id": "3adede820e28778faf931c534094d6bb6ec93099",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.c",
      "new_id": "1fefbd3f5d1b2dd607b4ffd624ee399d16be84d2",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.c"
    },
    {
      "type": "modify",
      "old_id": "afe0663571d6e77993d2feeef930042a8c0014d6",
      "old_mode": 33188,
      "old_path": "bgpd/bgpd.h",
      "new_id": "e8b8ef5a7df2ac60280e548ceaafbd872c669503",
      "new_mode": 33188,
      "new_path": "bgpd/bgpd.h"
    }
  ]
}
