From f96087e68f81a8bf50b6c8ca7e947b24b678415c Mon Sep 17 00:00:00 2001 From: Ethan Yonker Date: Fri, 7 Nov 2014 10:38:51 -0600 Subject: Fix up install functions Change-Id: I62110806f60cd923fb761f5e5f2544da3d5b68b1 --- twinstall.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/twinstall.cpp b/twinstall.cpp index 4247cf7d8..595c4d2a6 100644 --- a/twinstall.cpp +++ b/twinstall.cpp @@ -269,15 +269,22 @@ extern "C" int TWinstall_zip(const char* path, int* wipe_cache) { DataManager::GetValue(TW_SIGNED_ZIP_VERIFY_VAR, zip_verify); #endif DataManager::SetProgress(0); + + MemMapping map; + if (sysMapFile(path, &map) != 0) { + LOGERR("Failed to sysMapFile '%s'\n", path); + return -1; + } + if (zip_verify) { gui_print("Verifying zip signature...\n"); - ret_val = verify_file(path); + ret_val = verify_file(map.addr, map.length); if (ret_val != VERIFY_SUCCESS) { LOGERR("Zip signature verification failed: %i\n", ret_val); return -1; } } - ret_val = mzOpenZipArchive(path, &Zip); + ret_val = mzOpenZipArchive(map.addr, map.length, &Zip); if (ret_val != 0) { LOGERR("Zip file is corrupt!\n", path); return INSTALL_CORRUPT; -- cgit v1.2.3