)]}'
{
  "commit": "f2d2420bbf4bb125ea5f2e1573d4da6b668fc78a",
  "tree": "b6a074ce9a14e7fc1f99641bb3e47b83417f34eb",
  "parents": [
    "74bc80931c8bc34d24545f992a35349ad548897c"
  ],
  "author": {
    "name": "Julia Lawall",
    "email": "julia@diku.dk",
    "time": "Fri Jul 30 17:17:28 2010 +0200"
  },
  "committer": {
    "name": "Russell King",
    "email": "rmk+kernel@arm.linux.org.uk",
    "time": "Fri Jul 30 23:19:30 2010 +0100"
  },
  "message": "SA1111: Eliminate use after free\n\n__sa1111_remove always frees its argument, so the subsequent reference to\nsachip-\u003esaved_state represents a use after free.  __sa1111_remove does not\nappear to use the saved_state field, so the patch simply frees it first.\n\nA simplified version of the semantic patch that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression E,E2;\n@@\n\n__sa1111_remove(E)\n...\n(\n  E \u003d E2\n|\n* E\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6f80665f477e70b0acad4d6ead228295446863c3",
      "old_mode": 33188,
      "old_path": "arch/arm/common/sa1111.c",
      "new_id": "9eaf65f43642e6886b3ab4bae43e7821aad285b6",
      "new_mode": 33188,
      "new_path": "arch/arm/common/sa1111.c"
    }
  ]
}
