From 1b19774be006645c424d1df52f792faa807a5db9 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Fri, 26 Nov 2021 01:59:16 +0100 Subject: Cache build manifest in client struct --- src/restore.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'src/restore.c') diff --git a/src/restore.c b/src/restore.c index 0593f2d..7b61766 100644 --- a/src/restore.c +++ b/src/restore.c @@ -2952,13 +2952,7 @@ static int restore_send_bootability_bundle_data(restored_client_t restore, struc plist_t restore_get_build_identity(struct idevicerestore_client_t* client, uint8_t is_recover_os) { - unsigned int size = 0; - unsigned char* data = NULL; const char *variant; - plist_t buildmanifest = NULL; - ipsw_extract_to_memory(client->ipsw, "BuildManifest.plist", &data, &size); - plist_from_xml((char*)data, size, &buildmanifest); - free(data); if (is_recover_os) variant = "macOS Customer"; @@ -2968,11 +2962,11 @@ plist_t restore_get_build_identity(struct idevicerestore_client_t* client, uint8 variant = "Customer Upgrade Install (IPSW)"; plist_t build_identity = build_manifest_get_build_identity_for_model_with_variant( - buildmanifest, + client->build_manifest, client->device->hardware_model, variant); - plist_t unique_id_node = plist_dict_get_item(buildmanifest, "UniqueBuildID"); + plist_t unique_id_node = plist_dict_get_item(client->build_manifest, "UniqueBuildID"); debug_plist(unique_id_node); return build_identity; -- cgit v1.1-32-gdbae