)]}'
{
  "commit": "05f6e7b4bc7549a3160404557e6d7077733f5eb5",
  "tree": "4abc65ae6fe160fbfce29669bbdf9c4b7fb7fd19",
  "parents": [
    "c2968abe3d0078ba8072f7f85d640a819d2bcac8"
  ],
  "author": {
    "name": "Shruti Bihani",
    "email": "shrutibihani@google.com",
    "time": "Thu Jul 13 09:19:08 2023 +0000"
  },
  "committer": {
    "name": "Shruti Bihani",
    "email": "shrutibihani@google.com",
    "time": "Thu Aug 03 05:10:51 2023 +0000"
  },
  "message": "Fix heap-use-after-free issue flagged by fuzzer test.\n\nA data member of class MtpFfsHandle is being accessed after the class object has been freed in the fuzzer. The method accessing the data member is running in a separate thread that gets detached from its parent. Using a conditional variable with an atomic int predicate in the close() function to ensure the detached thread\u0027s execution has completed before freeing the object fixes the issue without blocking the processing mid-way.\n\nBug: 243381410\nTest: Build mtp_handle_fuzzer and run on the target device\nChange-Id: I41dde165a5eba151c958b81417d9e1065af1b411\nMerged-In: I41dde165a5eba151c958b81417d9e1065af1b411\n(cherry picked from commit 50bf46a3f62136386548a9187a749936bda3ee8f)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2ffd7759e099f9a366eb9efea673784b85ed61a9",
      "old_mode": 33188,
      "old_path": "media/mtp/MtpFfsHandle.cpp",
      "new_id": "ef8c9aa789b81442492cd64e3af725e44c53b26a",
      "new_mode": 33188,
      "new_path": "media/mtp/MtpFfsHandle.cpp"
    },
    {
      "type": "modify",
      "old_id": "e552e03bec2e9db63fd140c948f9a167a38fe07d",
      "old_mode": 33188,
      "old_path": "media/mtp/MtpFfsHandle.h",
      "new_id": "51cdef0953c8c799ffffb409c93957268b785b30",
      "new_mode": 33188,
      "new_path": "media/mtp/MtpFfsHandle.h"
    }
  ]
}
