No description
Find a file
Adam Lesinski de117e4a49 libziparchive: Use ReadAtOffset exclusively
The use of ReadAtOffset is meant to allow concurrent access
to the zip archive once it has been loaded. There were places
where this was the case, and some places that did a seek + read
combination, which could lead to data races.

NOTE: On Windows, we are not using pread as the implementation of
ReadAtOffset, therefore the guarantees on Windows are weaker.

On Linux, pread allows the file descriptor to be read at a specific
offset without changing the read pointer. This allows inherited fd's
and duped fds to be read concurrently.

On Windows, we use the ReadFile API, which allows for an atomic seek +
read operation, but modifies the read pointer. This means that any mix
use of ReadAtOffset and Read will have races. Just using ReadAtOffset is
safe.

For the Windows case, this is fine as the libziparchive code now only
uses ReadAtOffset.

Bug: 62184114
Bug: 62101783
Test: make ziparchive-tests (existing tests pass)
Change-Id: Ia7f9a30af2216682cdd9d578d26e84bc46773bb9
2017-07-25 18:12:12 +00:00
adb Merge "Indicate that a packet was truncated." 2017-06-27 22:50:48 +00:00
adf libadfhwc: Fix adf_hwc_close 2017-03-02 17:40:16 +00:00
base libziparchive: Use ReadAtOffset exclusively 2017-07-25 18:12:12 +00:00
bootstat bootstat: Log factory_reset_boot_complete separately from ota_*. 2017-05-30 15:03:15 -07:00
cpio Possible null pointer miss on realloc 2017-03-23 22:41:14 +01:00
debuggerd Remove unnecessary SELinux dependencies 2017-07-01 07:41:48 -07:00
demangle Mark libdemangle as vendor_available 2017-06-14 18:58:22 +09:00
fastboot fastboot: use filename instead of fd to generate filesystem image 2017-05-31 21:23:12 +00:00
fingerprintd fingerprint: bump hw api version to 2.1 [DO NOT MERGE] 2017-01-27 22:11:15 +00:00
fs_mgr Merge "fs_mgr: Adding logs when failing to wait for a device file" 2017-07-06 04:19:00 +00:00
gatekeeperd Merge "liblog: use log/log.h when utilizing ALOG macros" am: 01e12b4ee7 am: c3b346ea93 2017-01-11 19:26:19 +00:00
healthd healthd: notify listeners using local copy of list, drop lock 2017-06-29 22:25:40 +00:00
include libziparchive headers are moved to local directory 2017-07-02 04:33:34 +00:00
init Merge "init: add info logs in first stage mount if we have to poll" 2017-07-06 04:46:05 +00:00
libappfuse Add test config to libappfuse_test 2017-03-31 17:11:50 -07:00
libbacktrace Backtrace: Add libziparchive dependency 2017-07-04 12:03:52 -07:00
libbinderwrapper libbinderwrapper: Android.mk -> Android.bp 2017-04-25 15:55:26 -07:00
libcrypto_utils Rely on the platform -std default. 2016-10-10 14:31:12 -07:00
libcutils Merge "Remove more documentation for obsolete board configuration." 2017-06-29 23:50:37 +00:00
libdiskconfig Mark libdiskconfig vendor_available. 2017-05-24 14:21:48 -07:00
libion Mark libion vendor_available. 2017-05-24 14:25:08 -07:00
libkeyutils Add libkeyutils. 2017-05-10 10:40:11 -07:00
liblog Allow SLOG* to vendors 2017-06-29 10:25:25 +09:00
libmemtrack liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libmemunreachable Fix ScopedSignalHandler 2017-06-29 17:13:35 -07:00
libmetricslogger Mark libmetricslogger vendor_available. 2017-05-24 14:13:51 -07:00
libnativebridge Load vendor public libraries to sphal namespace 2017-05-25 10:30:55 -07:00
libnativeloader Load vendor public libraries to sphal namespace 2017-05-25 10:30:55 -07:00
libnetutils Mark libnetutils vendor_available. 2017-05-24 14:18:35 -07:00
libpackagelistparser liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libpixelflinger Va_end should be used with va_start 2017-03-23 22:41:42 +01:00
libprocessgroup Use mem cgroups in libprocessgroup if they're available 2017-06-29 23:49:00 +00:00
libprocinfo libprocinfo: add support for parsing process state. 2017-06-27 15:06:27 -07:00
libsparse libsparse: Fix odd-sized input files total_blks 2017-04-19 10:32:45 -05:00
libsuspend Mark libsuspend vendor_available. 2017-05-24 14:44:30 -07:00
libsync libsync: vendor_available 2017-04-19 10:32:51 -07:00
libsystem libutils: export system_headers 2017-04-28 09:42:50 +09:00
libsysutils libsysutils: Fix vold vulnerability in FrameworkListener 2017-06-20 06:32:11 +00:00
libunwindstack Remove assert, use CHECK instead. 2017-06-29 10:29:43 -07:00
libusbhost Convert libusbhost to Android.bp 2017-04-20 08:37:12 -07:00
libutils Merge "Va_end should be used with va_start" 2017-06-14 23:00:42 +00:00
libziparchive libziparchive: Use ReadAtOffset exclusively 2017-07-25 18:12:12 +00:00
lmkd lmkd: Android.mk -> Android.bp 2017-04-28 15:20:18 -07:00
logcat logcat: logcatd: make logcatd killable 2017-05-31 11:27:22 -07:00
logd Merge "logd + liblogd to Android.bp" 2017-06-30 19:32:41 +00:00
logwrapper Merge "logwrapper: add a benchmark for android_fork_execvp_ext" 2017-03-23 11:56:10 +00:00
mkbootimg mkbootimg: use int for os_version and os_patch_level 2016-03-29 16:06:37 -07:00
reboot Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
rootdir Merge "add "shutdown critical" to service" 2017-07-06 00:40:55 +00:00
run-as Define range of GIDs for cached app data. 2016-12-13 13:28:08 -07:00
sdcard Merge "Switch sdcardfs over to bind mounts." 2016-11-30 05:20:40 +00:00
shell_and_utilities Add building and installing of grep for vendor. 2017-06-15 15:04:41 -07:00
toolbox Merge "Add building and installing of grep for vendor." 2017-06-16 23:24:32 +00:00
trusty trusty*: Android.mk -> Android.bp 2017-05-08 16:54:04 +00:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.clang-format-4 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk init.rc: have hwservicemanager start the HAL class 2016-09-26 00:23:51 -07:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
platform_tools_tool_version.mk Fix warning on the build servers 2017-05-25 12:35:40 -07:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00