)]}'
{
  "commit": "1c0548d4dbd7dd00c01d38e01dee7dd8840554b6",
  "tree": "b3823e7dec38e509c0a91f18b6a6560f4938f93e",
  "parents": [
    "6d36e7f9075a1e3de73496758510be2bd39d01fd"
  ],
  "author": {
    "name": "Yu-Ping Wu",
    "email": "yupingso@google.com",
    "time": "Mon Aug 03 17:12:03 2026 +0800"
  },
  "committer": {
    "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Aug 26 23:18:18 2026 -0700"
  },
  "message": "futility: Replace host_shell with host_exec_output using subprocess\n\nReplace all usages of host_shell() with a new helper function\nhost_exec_output() that invokes subprocess_run() with an argument\narray to avoid system shell evaluation and potential command\ninjection. In archive fallback, use subprocess_run() directly for\nmkdir -p.\n\nBUG\u003db:293560339, b:537409763\nTEST\u003dmake runtests\nBRANCH\u003dnone\nTAG\u003dagy\nCONV\u003d0ed59c5f-379d-47ac-8eda-adf83afbe0e3\nSigned-off-by: Yu-Ping Wu \u003cyupingso@google.com\u003e\nChange-Id: I75df038fca834cc3b86b3c78edcaacfe57f7eba0\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/8238251\nCommit-Queue: Yu-Ping Wu \u003cyupingso@chromium.org\u003e\nTested-by: Yu-Ping Wu \u003cyupingso@chromium.org\u003e\nAuto-Submit: Yu-Ping Wu \u003cyupingso@chromium.org\u003e\nReviewed-by: Hsuan Ting Chen \u003croccochen@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "235e0ed58b4ce5bffa914c3a1d987e05bb708d72",
      "old_mode": 33188,
      "old_path": "futility/archive/updater_archive_fallback.c",
      "new_id": "c36b2c5fdb28ed5ee62e18ae235f46640a770553",
      "new_mode": 33188,
      "new_path": "futility/archive/updater_archive_fallback.c"
    },
    {
      "type": "modify",
      "old_id": "cfad4f9ff1828ce46b59e117af0bd4fddd5ccee2",
      "old_mode": 33188,
      "old_path": "futility/updater_manifest.c",
      "new_id": "40623cb28348adcf16b5db09b0935f14fd4c4ab8",
      "new_mode": 33188,
      "new_path": "futility/updater_manifest.c"
    },
    {
      "type": "modify",
      "old_id": "9a64fc1819704603b449db31c801e3f7fac18178",
      "old_mode": 33188,
      "old_path": "futility/updater_quirks.c",
      "new_id": "f4bf902ad33932ce727ff45f186a73431c7f733c",
      "new_mode": 33188,
      "new_path": "futility/updater_quirks.c"
    },
    {
      "type": "modify",
      "old_id": "032dc3bda46da19ef2deff18eb416b5ba42a6792",
      "old_mode": 33188,
      "old_path": "futility/updater_utils.c",
      "new_id": "c362728fa863ddf4ce2afce5e9484561d1536282",
      "new_mode": 33188,
      "new_path": "futility/updater_utils.c"
    },
    {
      "type": "modify",
      "old_id": "79da7f9ca675da3cb975c3a9b66138ce6c1a5208",
      "old_mode": 33188,
      "old_path": "futility/updater_utils.h",
      "new_id": "0253726c75c93457e94c10fa32b0d46b517e5d07",
      "new_mode": 33188,
      "new_path": "futility/updater_utils.h"
    },
    {
      "type": "modify",
      "old_id": "04049064253b3a5484f8ac0fc7f3ef2070c5e7b8",
      "old_mode": 33188,
      "old_path": "tests/futility/test_updater_utils.c",
      "new_id": "2eec2df68a165658d9182b72e0e8579c038ff155",
      "new_mode": 33188,
      "new_path": "tests/futility/test_updater_utils.c"
    },
    {
      "type": "modify",
      "old_id": "a0a8bbbdae2f4aee0bff08a06b3cc45b28ae5c0e",
      "old_mode": 33188,
      "old_path": "tests/futility/test_updater_utils_servo.c",
      "new_id": "1d6bed46448311bcfb6b590491288905a2f8c454",
      "new_mode": 33188,
      "new_path": "tests/futility/test_updater_utils_servo.c"
    }
  ]
}
