Loading libziparchive/Android.mk +5 −5 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := .cc LOCAL_SRC_FILES := ${source_files} LOCAL_STATIC_LIBRARIES := libz LOCAL_SHARED_LIBRARIES := libutils LOCAL_SHARED_LIBRARIES := libutils libbase LOCAL_MODULE:= libziparchive LOCAL_CFLAGS := -Werror -Wall LOCAL_CPPFLAGS := -Wold-style-cast Loading @@ -30,7 +30,7 @@ include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := .cc LOCAL_SRC_FILES := ${source_files} LOCAL_STATIC_LIBRARIES := libz libutils LOCAL_STATIC_LIBRARIES := libz libutils libbase LOCAL_MODULE:= libziparchive-host LOCAL_CFLAGS := -Werror ifneq ($(strip $(USE_MINGW)),) Loading @@ -43,7 +43,7 @@ include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := .cc LOCAL_SRC_FILES := ${source_files} LOCAL_STATIC_LIBRARIES := libz libutils LOCAL_SHARED_LIBRARIES := liblog LOCAL_SHARED_LIBRARIES := liblog libbase LOCAL_MODULE:= libziparchive-host LOCAL_CFLAGS := -Werror LOCAL_MULTILIB := both Loading @@ -55,7 +55,7 @@ LOCAL_MODULE := ziparchive-tests LOCAL_CPP_EXTENSION := .cc LOCAL_CFLAGS := -Werror LOCAL_SRC_FILES := zip_archive_test.cc entry_name_utils_test.cc LOCAL_SHARED_LIBRARIES := liblog LOCAL_SHARED_LIBRARIES := liblog libbase LOCAL_STATIC_LIBRARIES := libziparchive libz libutils include $(BUILD_NATIVE_TEST) Loading @@ -66,7 +66,7 @@ LOCAL_CFLAGS += \ -Werror \ -Wno-unnamed-type-template-args LOCAL_SRC_FILES := zip_archive_test.cc entry_name_utils_test.cc LOCAL_SHARED_LIBRARIES := libziparchive-host liblog LOCAL_SHARED_LIBRARIES := libziparchive-host liblog libbase LOCAL_STATIC_LIBRARIES := \ libz \ libutils Loading libziparchive/zip_archive.cc +16 −17 Original line number Diff line number Diff line Loading @@ -18,27 +18,29 @@ * Read-only access to Zip archives, with minimal heap allocation. */ #include <memory> #include <vector> #include <assert.h> #include <errno.h> #include <fcntl.h> #include <inttypes.h> #include <limits.h> #include <log/log.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <utils/Compat.h> #include <utils/FileMap.h> #include <zlib.h> #include <JNIHelp.h> // TEMP_FAILURE_RETRY may or may not be in unistd #include <memory> #include <vector> #include "base/macros.h" // TEMP_FAILURE_RETRY may or may not be in unistd #include "base/memory.h" #include "log/log.h" #include "utils/Compat.h" #include "utils/FileMap.h" #include "zlib.h" #include "entry_name_utils-inl.h" #include "ziparchive/zip_archive.h" using android::base::get_unaligned; // This is for windows. If we don't open a file in binary mode, weird // things will happen. Loading @@ -46,11 +48,6 @@ #define O_BINARY 0 #endif #define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ TypeName(); \ TypeName(const TypeName&); \ void operator=(const TypeName&) // The "end of central directory" (EOCD) record. Each archive // contains exactly once such record which appears at the end of // the archive. It contains archive wide information like the Loading Loading @@ -462,12 +459,14 @@ static int32_t MapCentralDirectory0(int fd, const char* debug_file_name, */ int i = read_amount - sizeof(EocdRecord); for (; i >= 0; i--) { if (scan_buffer[i] == 0x50 && ((*reinterpret_cast<uint32_t*>(&scan_buffer[i])) == EocdRecord::kSignature)) { if (scan_buffer[i] == 0x50) { uint32_t* sig_addr = reinterpret_cast<uint32_t*>(&scan_buffer[i]); if (get_unaligned<uint32_t>(sig_addr) == EocdRecord::kSignature) { ALOGV("+++ Found EOCD at buf+%d", i); break; } } } if (i < 0) { ALOGD("Zip: EOCD not found, %s is not zip", debug_file_name); return kInvalidFile; Loading Loading
libziparchive/Android.mk +5 −5 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := .cc LOCAL_SRC_FILES := ${source_files} LOCAL_STATIC_LIBRARIES := libz LOCAL_SHARED_LIBRARIES := libutils LOCAL_SHARED_LIBRARIES := libutils libbase LOCAL_MODULE:= libziparchive LOCAL_CFLAGS := -Werror -Wall LOCAL_CPPFLAGS := -Wold-style-cast Loading @@ -30,7 +30,7 @@ include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := .cc LOCAL_SRC_FILES := ${source_files} LOCAL_STATIC_LIBRARIES := libz libutils LOCAL_STATIC_LIBRARIES := libz libutils libbase LOCAL_MODULE:= libziparchive-host LOCAL_CFLAGS := -Werror ifneq ($(strip $(USE_MINGW)),) Loading @@ -43,7 +43,7 @@ include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := .cc LOCAL_SRC_FILES := ${source_files} LOCAL_STATIC_LIBRARIES := libz libutils LOCAL_SHARED_LIBRARIES := liblog LOCAL_SHARED_LIBRARIES := liblog libbase LOCAL_MODULE:= libziparchive-host LOCAL_CFLAGS := -Werror LOCAL_MULTILIB := both Loading @@ -55,7 +55,7 @@ LOCAL_MODULE := ziparchive-tests LOCAL_CPP_EXTENSION := .cc LOCAL_CFLAGS := -Werror LOCAL_SRC_FILES := zip_archive_test.cc entry_name_utils_test.cc LOCAL_SHARED_LIBRARIES := liblog LOCAL_SHARED_LIBRARIES := liblog libbase LOCAL_STATIC_LIBRARIES := libziparchive libz libutils include $(BUILD_NATIVE_TEST) Loading @@ -66,7 +66,7 @@ LOCAL_CFLAGS += \ -Werror \ -Wno-unnamed-type-template-args LOCAL_SRC_FILES := zip_archive_test.cc entry_name_utils_test.cc LOCAL_SHARED_LIBRARIES := libziparchive-host liblog LOCAL_SHARED_LIBRARIES := libziparchive-host liblog libbase LOCAL_STATIC_LIBRARIES := \ libz \ libutils Loading
libziparchive/zip_archive.cc +16 −17 Original line number Diff line number Diff line Loading @@ -18,27 +18,29 @@ * Read-only access to Zip archives, with minimal heap allocation. */ #include <memory> #include <vector> #include <assert.h> #include <errno.h> #include <fcntl.h> #include <inttypes.h> #include <limits.h> #include <log/log.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <utils/Compat.h> #include <utils/FileMap.h> #include <zlib.h> #include <JNIHelp.h> // TEMP_FAILURE_RETRY may or may not be in unistd #include <memory> #include <vector> #include "base/macros.h" // TEMP_FAILURE_RETRY may or may not be in unistd #include "base/memory.h" #include "log/log.h" #include "utils/Compat.h" #include "utils/FileMap.h" #include "zlib.h" #include "entry_name_utils-inl.h" #include "ziparchive/zip_archive.h" using android::base::get_unaligned; // This is for windows. If we don't open a file in binary mode, weird // things will happen. Loading @@ -46,11 +48,6 @@ #define O_BINARY 0 #endif #define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ TypeName(); \ TypeName(const TypeName&); \ void operator=(const TypeName&) // The "end of central directory" (EOCD) record. Each archive // contains exactly once such record which appears at the end of // the archive. It contains archive wide information like the Loading Loading @@ -462,12 +459,14 @@ static int32_t MapCentralDirectory0(int fd, const char* debug_file_name, */ int i = read_amount - sizeof(EocdRecord); for (; i >= 0; i--) { if (scan_buffer[i] == 0x50 && ((*reinterpret_cast<uint32_t*>(&scan_buffer[i])) == EocdRecord::kSignature)) { if (scan_buffer[i] == 0x50) { uint32_t* sig_addr = reinterpret_cast<uint32_t*>(&scan_buffer[i]); if (get_unaligned<uint32_t>(sig_addr) == EocdRecord::kSignature) { ALOGV("+++ Found EOCD at buf+%d", i); break; } } } if (i < 0) { ALOGD("Zip: EOCD not found, %s is not zip", debug_file_name); return kInvalidFile; Loading