)]}'
{
  "commit": "8f5189dd604c4efe97e9fcd401effba9d18fd41e",
  "tree": "2e9c5ddf06642cf213ca56317292019f715d8886",
  "parents": [
    "bc34045c057da5452ec52b51d2f36b8c0063cddc"
  ],
  "author": {
    "name": "Eric Biggers",
    "email": "ebiggers@google.com",
    "time": "Fri Feb 24 05:11:08 2023 +0000"
  },
  "committer": {
    "name": "Eric Biggers",
    "email": "ebiggers@google.com",
    "time": "Fri Feb 24 16:30:22 2023 +0000"
  },
  "message": "Load Weaver HAL if needed in destroyWeaverSlot()\n\nNow that mWeaver is not initialized at boot time, but rather only by\nisWeaverAvailable(), we need to make sure that isWeaverAvailable() is\ncalled before dereferencing mWeaver.  This was done in all cases except\nfor destroyWeaverSlot(), which is reachable with null mWeaver if a user\nis removed before any user is unlocked.  Fix this.\n\nThis fixes commit 61bd5961f6fc (\"Do not initialize the weaver service at\nboot\") (http://ag/21164366).\n\nBug: 252760591\nTest: Set a PIN on user 0.  Add secondary user.  Reboot.  Remove\n      secondary user using \u0027pm remove-user\u0027.  system_server crashes\n      before this change, but not after it.\nChange-Id: I05019af328c56739724a67f9af776664e2cef438\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e592a22070959fdf5783b66b85e2eecd79d83057",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java",
      "new_id": "d070b416c53c0048abfa9dababb74a6a3bfc896e",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java"
    }
  ]
}
