No description
Find a file
Tom Cherry b07e339b53 logd: fix use after resize of contents_ vector
SerializedFlushToState::PopNextUnreadLog() was calling
AddMinHeapEntry() to replenish the element that was just popped off of
the heap, however AddMinHeapEntry() also manages reference counts for
the buffers, and this resulting in the following scenario:

PopNextUnreadLog() returns a pointer referencing log buffer #1
AddMinHeapEntry() sees that all logs from buffer #1 has been read, so
it decrements the reference count
The caller of PopNextUnreadLog() uses the result which references
invalid memory.

This calls CheckForNewLogs() within HasUnreadLogs() instead of
requiring a separate call, which fixes an additional issue where
continuing from the loop in SerializedLogBuffer::FlushTo() may not
pick up subsequent logs in a given log buffer, since CheckForNewLogs()
wouldn't be called.  This was exacerbated by the above change.

This adds a test to check the reference counts for this case and fixes
an argument mismatch in SerializedFlushToStateTest.

This adds the corpus that surfaced the issue.

Bug: 159753229
Bug: 159783005
Test: these unit tests, run fuzzer without error
Change-Id: Ib2636dfc14293b7e2cd00876b9def6e9dbbff4ce
2020-06-24 15:31:46 -07:00
adb Explicitly show the destination filename for a bugreport. 2020-06-18 11:05:38 -07:00
bootstat Improve logging in bootstat. 2020-04-02 13:03:21 +01:00
cli-test cli-test: a tool for testing command-line programs. 2019-12-13 12:23:51 -08:00
code_coverage build code_coverage.policy with Android.bp 2020-02-11 10:33:38 -08:00
cpio Remove EXCLUDE_FS_CONFIG_STRUCTURES 2020-03-04 15:34:09 -08:00
debuggerd Add stack trace coverage to MTE tests. 2020-05-08 10:14:47 -07:00
deprecated-adf remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
diagnose_usb Revert "Revert "Set apex_available property"" 2020-03-26 00:23:56 +00:00
fastboot fastboot: copy AVB footer on boot image to end of partition 2020-06-18 21:56:14 -07:00
fs_mgr Merge "Don't call block checkpoint functions above dm-default-key" 2020-06-18 21:56:10 +00:00
gatekeeperd Use optional for nullable types 2020-02-24 09:31:47 +09:00
healthd BatteryMonitor: report current_now in uA 2020-04-08 16:24:17 -07:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init Reboot sequence: Unmount active apexes before unmounting /data 2020-06-13 00:13:11 +01:00
janitors Add the two best build system janitors. 2019-03-25 10:25:13 -07:00
libappfuse Fix Deadlock Issue On AppFuseBridge 2020-02-18 04:33:06 +00:00
libasyncio Revert "Revert "Set apex_available property"" 2020-03-26 00:23:56 +00:00
libbacktrace Make libbacktrace buildable for native_bridge 2020-06-18 22:02:46 +02:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils Set apex_available property 2020-03-09 16:38:02 +09:00
libcutils libcutils: reimplement system property functions with libbase. 2020-05-21 16:20:16 -07:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage gralloc: Set min_sdk_version 2020-04-23 23:50:08 +09:00
libkeyutils Stop using varargs in libkeyutils. 2020-06-08 09:27:17 -07:00
liblog Merge "Use standard colors in logcat color output" 2020-06-22 21:43:14 +00:00
libmodprobe Merge "libmodprobe: improve error reporting." 2020-06-16 22:22:13 +00:00
libnetutils libnetutils/packet.c - create socket with close-on-exec 2020-05-08 22:34:37 -07:00
libpackagelistparser Add require_root to adbd_test and libpackagelistparser_test 2019-09-24 09:13:32 -07:00
libpixelflinger Remove mips pixelflinger. 2020-03-07 05:51:52 +00:00
libprocessgroup libprocessgroup: support for cgroup v2 hierarchy 2020-06-10 09:14:00 -07:00
libprocinfo Make libbacktrace buildable for native_bridge 2020-06-18 22:02:46 +02:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse libsparse: Limit block size to 64 MB 2020-06-03 11:45:17 +08:00
libstats Revert "Make libstatssocket a shared_lib" 2020-05-08 07:57:09 +00:00
libsuspend Remove libsuspend from VNDK. 2018-08-14 13:39:55 -07:00
libsync Make libsync a stubs library 2020-06-05 17:13:57 +09:00
libsystem Set min_sdk_version to be part of mainline modules 2020-05-13 08:18:06 +09:00
libsysutils Set min_sdk_version to be part of mainline modules 2020-05-13 08:18:06 +09:00
libunwindstack Make libbacktrace buildable for native_bridge 2020-06-18 22:02:46 +02:00
libusbhost Prevent infinite loop on zero length USB descriptors 2020-02-21 11:11:02 -08:00
libutils Make libbacktrace buildable for native_bridge 2020-06-18 22:02:46 +02:00
libvndksupport remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
llkd llkd: Use more inclusive language 2020-06-16 10:28:14 -07:00
logcat Merge "Use standard colors in logcat color output" 2020-06-22 21:43:14 +00:00
logd logd: fix use after resize of contents_ vector 2020-06-24 15:31:46 -07:00
logwrapper logwrap: add missing O_CLOEXEC 2020-02-26 10:29:04 -08:00
property_service Rename ro.device_owner system property 2020-02-19 10:34:36 +00:00
qemu_pipe Revert "Revert "Set apex_available property"" 2020-03-26 00:23:56 +00:00
reboot adb: replace reboot service with exec of /system/bin/reboot. 2019-10-23 14:33:36 -07:00
rootdir add a new trigger for launching the bpfloader 2020-06-22 01:11:39 -07:00
run-as run-as: improve error messages. 2020-03-04 18:11:18 -08:00
sdcard Move layout_version to /data/misc/installd 2019-08-21 10:12:18 -07:00
set-verity-state set-verity-state: Link to libfs_mgr_binder. 2019-12-30 13:42:57 -08:00
shell_and_utilities shell_and_utilities_recovery: Fix required dependencies 2020-06-10 07:58:04 +00:00
storaged storaged: ignore SIGPIPE 2020-03-17 09:31:01 -07:00
toolbox modprobe: Use more inclusive language for modprobe and libmodprobe 2020-06-15 12:51:38 -07:00
trusty trusty:storageproxyd: Fix in_cdb.length setting on send_ufs_rpmb_req 2020-06-12 15:30:08 -07:00
usbd Remove libhwbinder/libhidltransport deps 2019-09-05 14:17:42 -07:00
watchdogd Move watchdogd out of init 2018-08-02 12:25:58 -07:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.clang-format-4 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp remove deprecated bp 'subdirs' 2020-01-14 12:18:40 -08:00
base Migrate system/core/base to system/libbase. 2020-05-19 21:32:42 +00:00
CleanSpec.mk snapshotctl don't auto-merge. 2020-03-03 13:19:49 -08:00
METADATA Add METADATA to system/core: Apache2+BSD=NOTICE 2020-04-29 13:16:41 -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
OWNERS Move per-file OWNERS directives to their directories. 2018-06-06 11:49:40 +09:00
PREUPLOAD.cfg Add AOSP preupload hook. 2020-04-23 11:02:00 -07:00
TEST_MAPPING Update TEST_MAPPING. 2020-05-21 14:26:34 -07:00