)]}'
{
  "commit": "a54ceb1dbe76e76ca8701dbda3e5baf011b16d6d",
  "tree": "f27ce3b104511a8b1598e77858cb42b41cb5e515",
  "parents": [
    "67d71792929f94d4638a3663f2fc19aea4918681"
  ],
  "author": {
    "name": "Youness Alaoui",
    "email": "kakaroto@kakaroto.homelinux.net",
    "time": "Wed Jul 26 18:03:36 2017 -0400"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Thu Aug 10 15:18:11 2017 +0000"
  },
  "message": "rpci: Use pci_dev struct pointer to avoid API breaks\n\nThe pci_dev structure is never meant to be used as is, but always as a\npointer. By using the struct itself in undo_pci_write_data, we are risking\ndata corruption, or buffer overflows if the structure size changes.\n\nThis is especially apparent on my system where flashrom segfaults\nbecause I compile it with pciutils 3.3.0 and I run it on a system\nwith pciutils 3.5.2. The struture size is different and causes a\nstruct with the wrong size to be sent to the library, with invalid\ninternal field values.\n\nThis has been discovered and discussed in Change ID 18925 [1]\n\n[1] https://review.coreboot.org/#/c/18925/\n\nChange-Id: Icde2e587992ba964d4ff92c33aa659850ba06298\nSigned-off-by: Youness Alaoui \u003ckakaroto@kakaroto.homelinux.net\u003e\nReviewed-on: https://review.coreboot.org/20784\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "20d2662001ffbf453bb5bf4fe68e6b36624e2cd8",
      "old_mode": 33188,
      "old_path": "chipset_enable.c",
      "new_id": "6a93d0d573491e99116502ec60893907b3f80ec2",
      "new_mode": 33188,
      "new_path": "chipset_enable.c"
    },
    {
      "type": "modify",
      "old_id": "2c780637996f6d70d7b34a0decd551b8cdb80309",
      "old_mode": 33188,
      "old_path": "pcidev.c",
      "new_id": "f4e554207cf85463ecac2a2d1156411d0ee2cca7",
      "new_mode": 33188,
      "new_path": "pcidev.c"
    },
    {
      "type": "modify",
      "old_id": "ec00bd9a958693360b04153a0da067a8bf6822d3",
      "old_mode": 33188,
      "old_path": "programmer.h",
      "new_id": "e58fd3257dc93e38c850e7a527a188087183bc9d",
      "new_mode": 33188,
      "new_path": "programmer.h"
    }
  ]
}
