)]}'
{
  "commit": "1fe6ed38cd0136c514aabae01389653beab27fb9",
  "tree": "21f10bc3f9c5afffe9f28e5dbf4e6198cfafba5b",
  "parents": [
    "3fed4160cd23f1767d8980e8cba10bc3933947d5"
  ],
  "author": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Wed Jul 26 09:37:26 2006 +0000"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul.jakma@sun.com",
    "time": "Wed Jul 26 09:37:26 2006 +0000"
  },
  "message": "[ospfd] Allow ospf_lsa_unlock to NULL out callers\u0027 LSA pointers upon free\n\n2006-07-26 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* ospf_lsa.{c,h}: (ospf_lsa_unlock) Change to take a double pointer\n\t  to the LSA to be \u0027unlocked\u0027, so that, if the LSA is freed, the\n\t  callers pointer to the LSA can be NULLed out, allowing any further\n\t  use of that pointer to provoke a crash sooner rather than later.\n\t* ospf_*.c: (general) Adjust callers of ospf_lsa_unlock to match\n\t  previous. Try annotate \u0027locking\u0027 somewhat to show which \u0027locks\u0027\n\t  are protecting what LSA reference, if not obvious.\n\t* ospf_opaque.c: (ospf_opaque_lsa_install) Trivial: remove useless\n\t  goto, replace with return.\n\t* ospf_packet.c: (ospf_make_ls_ack) Trivial: merge two list loops,\n\t  the dual-loop predated the delete-safe list-loop macro.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2c23774adb9573825d6b12607272c3b5f922054d",
      "old_mode": 33188,
      "old_path": "ospfd/ChangeLog",
      "new_id": "61ca5e0f1d7642d3e8d0955373f89ed30855de43",
      "new_mode": 33188,
      "new_path": "ospfd/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "2ee4d3e1697c25e80ca57a00257369a02b805657",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_apiserver.c",
      "new_id": "dac4c93fd07fa9fd07884b632ebceb1aa83fbed5",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_apiserver.c"
    },
    {
      "type": "modify",
      "old_id": "f4b285bb0db61fab8683a9653096bcdbdd8fcb88",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_ase.c",
      "new_id": "a4812345c18243ce3f26998d79b6fade2ee60ba5",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_ase.c"
    },
    {
      "type": "modify",
      "old_id": "d7ab859e90cd35d385acdd94033ecfac4600181d",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_flood.c",
      "new_id": "91cbbf3dd934f4202875ce3e97c8a419334a9a20",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_flood.c"
    },
    {
      "type": "modify",
      "old_id": "2c2c07497ca707db7b726086af3b3abd57587476",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_interface.c",
      "new_id": "31275f89d853a031ddc2290be6ef7be2d24a6004",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_interface.c"
    },
    {
      "type": "modify",
      "old_id": "0875e92dd037d3fcbcf04d34e9370a266b428695",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_ism.c",
      "new_id": "829ea00a18d9af7ffb072719c1d5d2702a34a813",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_ism.c"
    },
    {
      "type": "modify",
      "old_id": "8b5c6eb816ebd77e0fe5fa45138b79f476f937d1",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_lsa.c",
      "new_id": "b99b931c13bd5e962cf8d25dbaf3b7dd7258c5d7",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_lsa.c"
    },
    {
      "type": "modify",
      "old_id": "9e480dee5736cf379c02838c7a5d7d0b7bf6e4a3",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_lsa.h",
      "new_id": "8dd054c315cddf9a9497c9315c11d51929645413",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_lsa.h"
    },
    {
      "type": "modify",
      "old_id": "b161b8067473ee01431ad6b74ffa0d1bee4280df",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_lsdb.c",
      "new_id": "28d92bde228d95df136371718fa6e3585199003f",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_lsdb.c"
    },
    {
      "type": "modify",
      "old_id": "8329a4f36a8c090d740264b7c258db2a67f89c20",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_nsm.c",
      "new_id": "e3517cdd242877a2c5653a9224934cc678babc94",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_nsm.c"
    },
    {
      "type": "modify",
      "old_id": "f2496cfd73dadc9aed175667b308f42dd06d518f",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_opaque.c",
      "new_id": "0b6ac4cb7b8f88d782791f420c5a98cb3c48c8a5",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_opaque.c"
    },
    {
      "type": "modify",
      "old_id": "788daba3ab6ec0783aa88f80e3f88f9810f9791f",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_packet.c",
      "new_id": "44dca1817848b1a5f24809296f1601233250dd4f",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_packet.c"
    },
    {
      "type": "modify",
      "old_id": "10a94b8d8f93b465117f1d969020c8c256b8330c",
      "old_mode": 33188,
      "old_path": "ospfd/ospf_te.c",
      "new_id": "a3ebe62e3a12d0de4e12bf2d6aa725dfe7fa8c1e",
      "new_mode": 33188,
      "new_path": "ospfd/ospf_te.c"
    },
    {
      "type": "modify",
      "old_id": "79c4543f4757423b1edad462ec51c2464c776281",
      "old_mode": 33188,
      "old_path": "ospfd/ospfd.c",
      "new_id": "ef8272b0442480c073348995007cc9528d6de458",
      "new_mode": 33188,
      "new_path": "ospfd/ospfd.c"
    }
  ]
}
