New issue
Advanced search Search tips
Starred by 4 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , iOS , Chrome , Mac , Fuchsia
Pri: 2
Type: Feature

Blocked on:
issue 817979
issue 819216



Sign in to add a comment

Security: There is no range checking in `StringPiece`, `span`, and other custom containers

Project Member Reported by palmer@chromium.org, Mar 1

Issue description

Seems like something you'd want. Adding a trivial CHECK makes at least 1 thing explode (during the build; see Issue 817979), so I think we do need it.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 3

The following revision refers to this bug:
  https://chromium.googlesource.com/crashpad/crashpad.git/+/23b2156fb694fcc8b2da03fa9e1d02cf81f53fe9

commit 23b2156fb694fcc8b2da03fa9e1d02cf81f53fe9
Author: Mark Mentovai <mark@chromium.org>
Date: Sat Mar 03 03:06:39 2018

Don’t read beyond a StringPiece’s bounds in StringToNumber()

The implementations requires NUL-termination for the underlying buffer,
so just use std::string everywhere, rather than trying to detect whether
strings are already NUL-terminated.

Bug: chromium:817982, chromium:818376
Change-Id: I4c8dcb5ed15ebca4c531f9a5d0ee865228dc0959
Reviewed-on: https://chromium-review.googlesource.com/947742
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>

[modify] https://crrev.com/23b2156fb694fcc8b2da03fa9e1d02cf81f53fe9/util/linux/memory_map.cc
[modify] https://crrev.com/23b2156fb694fcc8b2da03fa9e1d02cf81f53fe9/util/mach/symbolic_constants_mach.cc
[modify] https://crrev.com/23b2156fb694fcc8b2da03fa9e1d02cf81f53fe9/util/posix/symbolic_constants_posix.cc
[modify] https://crrev.com/23b2156fb694fcc8b2da03fa9e1d02cf81f53fe9/util/stdlib/string_number_conversion.cc
[modify] https://crrev.com/23b2156fb694fcc8b2da03fa9e1d02cf81f53fe9/util/stdlib/string_number_conversion.h
[modify] https://crrev.com/23b2156fb694fcc8b2da03fa9e1d02cf81f53fe9/util/stdlib/string_number_conversion_test.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/31fd846e0af04d50d511ea827b35c072b89d9ff6

commit 31fd846e0af04d50d511ea827b35c072b89d9ff6
Author: Mark Mentovai <mark@chromium.org>
Date: Mon Mar 05 19:23:14 2018

Update Crashpad to 4375233ad2dad48f2332ecc20221df10f98b668a

This includes a reland of 58866fc90d41, which was reverted at
68255cbfe41a. The cause for the revert was addressed by upstream
82777cff5848.

14dbd3531d98 gn win: Get main test binaries building
6cf4f928eb08 gn win: Add auxiliary test binaries used by
             end_to_end_test.py
36679d572ba0 win: Don't assume offsets the same when
             kDoesNotObserveDaylightSavingTime
9ab4fbf1e1a7 win: Improve child crash location test
798f6540435f gn win: Use new toolchain names to support both x86 and x64
83a83c5b0050 Roll mini_chromium to e7e8237
a483e2c599b8 Fix names of Windows trybots after server-side rename
38b20ca57efc Relocate CaptureContext to misc and implement on Linux
a8ad3bdbdfb1 linux: fix incorrect fallthrough
73e862e15a6c fuchsia: Exclude capture_context_test.cc from test build
b83f4c731d8f Let UUID::InitializeFromString accept StringPiece16 too
f878f155172b fuchsia: Add flock() stub to get test binaries linking
             again
e5bbdaff87a9 Pass FilePath to Settings in Initialize()
c45ba7920e01 Make NewReport objects own their associated database
             resources
7d5487fc44b3 minidump: add switch cases to handle linux/android and ARM
c406797ce620 Add  UploadReport to manage database resources during
             upload
7faa2ef89872 Get CrashpadInfo address via a .note, rather than dynamic
             symtab
8d0d999d9245 Add a cross-platform database implementation
b43858c9903f fuchsia: Start of ModuleSnapshot and ProcessReader
             implementations
6667fa25595a fuchsia: Fixes to TestPaths
90cde8e30f7d Disable upload on Android
4094c2628d33 Address review comments for 8d0d999
a4d7fb4cc390 Use .long for pointers on 32-bit platforms
5e5b927b38ca Build crashpad_client_linux.cc on Android
eec1e17ab558 Fix two bugs in memset()ing CrashpadInfo on size mismatch
4717300fa4ce Reset CrashpadInfo after CrashpadInfoReader tests
f9d160ffc6bb Revert "Reset CrashpadInfo after CrashpadInfoReader tests"
6798ba912e96 Reset CrashpadInfo after CrashpadInfoReader tests
0429216f59b1 linux: Add CrashReportExceptionHandler
f38af628c9dc fuchsia: Don't fail rename if source == dest
040360239343 Fix
             CrashpadInfoSizes_ClientOptions/CrashpadInfoSizes_ClientOpt
             ions
10222b12362c fuchsia: Disable TimeZone.Basic test as timezones are non-
             functional
5cb869392eed fuchsia: Compile out LoggingLock/UnlockFile, add DCHECKs to
             Settings
4b7895615808 Add .hidden to CRASHPAD_NOTE_REFERENCE
8ee14eef08f3 fuchsia: Fix some packaging when run isn't from Crashpad
             source root
4a9d422652a1 Turn fuchsia trybots on by default
ec33c25797f9 fuchsia: Don't include sys/resource.h, recently removed
             from SDK
8b738cd24d59 Don't include crash_report_database_generic.cc on Win/Mac
d2a866978b89 Makes 'all' build on Linux
d8d03172c278 arm: Capture context around pc and registers
ebad8bd925c3 Don't spawn an upload thread if url is empty
0520fdff1edc linux: Move ScopedPrSetPtracer to util/
38540eaf71cb Add handler options for Linux/Android
01105719d767 linux: add CRASHPAD_SIMULATE_CRASH()
3dd85dc12638 fuchsia: Make ImageAnnotationReader[Test] work
cab259330f2e fuchsia: Pass more data out of module snapshot
1aae5cedaf1e Refactor ModuleSnapshot(Linux|Fuchsia) into
             ModuleSnapshotElf
4d96e4e504ef fuchsia: Return ModuleSnapshot* out of
             ProcessSnapshotFuchsia
2290a826af1e Pull (most) platform-specific MemorySnapshots out
3030ae54171a fuchsia: Fix ninja auto-regen after run
61f1013ee4ef fuchsia: Add some thread reading to ProcessReader and a
             test
c69ba3d52783 non-win: Add
             Multiprocess::SetExpectedChildTerminationBuiltinTrap()
f130822b9f4b linux: Add CrashpadClient tests
2b05eb522fa4 Rename ProcessReader to platform-suffixed versions
fa2a03fbdd0f linux: Add CrashpadClient::SetFirstChanceExceptionHandler()
cd3afe616e63 Linux: Pull and use clang toolchain in third_party
8e80a575d15f Linux: Pull a sysroot if pulling a local clang
fae18c2fc492 fuchsia: Add implementation of ThreadSnapshot
a869ae18d256 Workaround for death test failure when in threadsafe mode
             on Mac
8a12f5893050 fuchsia: Take bots off CQ pending flake investigation
9affa2a0e72d Optionally stub out the libcurl-based implementation of
             HTTPTransport
dec23bef5769 win gn: reintroduce flags to disable warnings
746ce1a63703 Roll mini_chromium to 987bde8
493e29bc3df0 win: Use correct format specifier
a45e88602b90 Skip ELF notes with a p_vaddr of zero
71d90608828d Add Linux trybots to CQ
449506d59c6a Roll mini_chromium to ef0df11
82777cff5848 win: fix warnings when building with clang
23b2156fb694 Don’t read beyond a StringPiece’s bounds in
             StringToNumber()
4375233ad2da win: fix 64-bit build

Also:
Add new metrics enums values.
Use new CrashReportDatabase interface.

Bug: crashpad:30, chromium:817982, chromium:818376
Change-Id: Ib4fcc423f68a4c80907968498264413f3f229c5c
Reviewed-on: https://chromium-review.googlesource.com/947745
Commit-Queue: Chris Palmer <palmer@chromium.org>
Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540894}
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/components/browser_watcher/postmortem_report_collector.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/components/browser_watcher/postmortem_report_collector.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/components/browser_watcher/postmortem_report_collector_unittest.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/components/crash/content/app/minidump_with_crashpad_info.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/README.chromium
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/.gitignore
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/DEPS
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/build/BUILDCONFIG.gn
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/build/install_linux_sysroot.py
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/build/run_tests.py
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/BUILD.gn
[delete] https://crrev.com/fd91b77da524c9151eacd51709dfe7d6cff874b4/third_party/crashpad/crashpad/client/capture_context_mac.h
[delete] https://crrev.com/fd91b77da524c9151eacd51709dfe7d6cff874b4/third_party/crashpad/crashpad/client/capture_context_mac_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/client.gyp
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/client_test.gyp
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crash_report_database.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crash_report_database.h
[delete] https://crrev.com/fd91b77da524c9151eacd51709dfe7d6cff874b4/third_party/crashpad/crashpad/client/crash_report_database_fuchsia.cc
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crash_report_database_generic.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crash_report_database_mac.mm
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crash_report_database_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crash_report_database_win.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crashpad_client.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crashpad_client_linux_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crashpad_client_win.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crashpad_info.cc
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/crashpad_info_note.S
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/prune_crash_reports_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/settings.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/settings.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/settings_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/simple_string_dictionary_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/simulate_crash.h
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/simulate_crash_linux.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/simulate_crash_mac.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/client/simulate_crash_win.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/BUILD.gn
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/crashpad_handler.md
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/crashpad_handler_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/handler.gyp
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/handler_main.cc
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.cc
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/linux/exception_handler_server_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/win/crash_other_program.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/win/crashy_test_program.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/infra/config/cq.cfg
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/BUILD.gn
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/capture_memory.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_module.cc
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_note.S
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/crashpad_types/image_annotation_reader_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test_note.S
[rename] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/elf/module_snapshot_elf.cc
[rename] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/elf/module_snapshot_elf.h
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.cc
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.h
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.h
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.cc
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
[delete] https://crrev.com/fd91b77da524c9151eacd51709dfe7d6cff874b4/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.cc
[delete] https://crrev.com/fd91b77da524c9151eacd51709dfe7d6cff874b4/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.h
[rename] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
[rename] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.h
[rename] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.h
[delete] https://crrev.com/fd91b77da524c9151eacd51709dfe7d6cff874b4/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.cc
[delete] https://crrev.com/fd91b77da524c9151eacd51709dfe7d6cff874b4/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.h
[rename] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.cc
[rename] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac.h
[rename] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/process_reader_mac_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/process_types.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/process_types.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/process_types/custom.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/process_types_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.h
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/memory_snapshot_generic.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/snapshot.gyp
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/snapshot_test.gyp
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_crashing_child.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_dump_without_crashing.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/win/module_snapshot_win.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/win/process_reader_win.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/snapshot/win/system_snapshot_win_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/test/BUILD.gn
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/test/mac/dyld.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/test/multiprocess.h
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/test/multiprocess_exec_fuchsia.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/test/multiprocess_exec_test.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/test/multiprocess_exec_test_child.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/test/multiprocess_posix.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/test/test.gyp
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/test/test_paths.cc
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/third_party/fuchsia/README.crashpad
[add] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/third_party/linux/README.crashpad
[modify] https://crrev.com/31fd846e0af04d50d511ea827b35c072b89d9ff6/third_party/crashpad/crashpad/tools/crashpad_database_util.cc
[modi
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff

commit db6afd2fb363ffae0c563fb6dee1a5c7469b88ff
Author: John Abd-El-Malek <jam@chromium.org>
Date: Tue Mar 06 00:42:35 2018

Revert "Update Crashpad to 4375233ad2dad48f2332ecc20221df10f98b668a"

This reverts commit 31fd846e0af04d50d511ea827b35c072b89d9ff6.

This causes debug Windows component builds to not run on Windows, giving the error below. Bruce & Rob tracked it to the change in util/BUILD.gn which adds mincore.lib

---------------------------
chrome.exe - System Error
---------------------------
The program can't start because api-ms-win-power-base-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem."


Original change's description:
> Update Crashpad to 4375233ad2dad48f2332ecc20221df10f98b668a
> 
> This includes a reland of 58866fc90d41, which was reverted at
> 68255cbfe41a. The cause for the revert was addressed by upstream
> 82777cff5848.
> 
> 14dbd3531d98 gn win: Get main test binaries building
> 6cf4f928eb08 gn win: Add auxiliary test binaries used by
>              end_to_end_test.py
> 36679d572ba0 win: Don't assume offsets the same when
>              kDoesNotObserveDaylightSavingTime
> 9ab4fbf1e1a7 win: Improve child crash location test
> 798f6540435f gn win: Use new toolchain names to support both x86 and x64
> 83a83c5b0050 Roll mini_chromium to e7e8237
> a483e2c599b8 Fix names of Windows trybots after server-side rename
> 38b20ca57efc Relocate CaptureContext to misc and implement on Linux
> a8ad3bdbdfb1 linux: fix incorrect fallthrough
> 73e862e15a6c fuchsia: Exclude capture_context_test.cc from test build
> b83f4c731d8f Let UUID::InitializeFromString accept StringPiece16 too
> f878f155172b fuchsia: Add flock() stub to get test binaries linking
>              again
> e5bbdaff87a9 Pass FilePath to Settings in Initialize()
> c45ba7920e01 Make NewReport objects own their associated database
>              resources
> 7d5487fc44b3 minidump: add switch cases to handle linux/android and ARM
> c406797ce620 Add  UploadReport to manage database resources during
>              upload
> 7faa2ef89872 Get CrashpadInfo address via a .note, rather than dynamic
>              symtab
> 8d0d999d9245 Add a cross-platform database implementation
> b43858c9903f fuchsia: Start of ModuleSnapshot and ProcessReader
>              implementations
> 6667fa25595a fuchsia: Fixes to TestPaths
> 90cde8e30f7d Disable upload on Android
> 4094c2628d33 Address review comments for 8d0d999
> a4d7fb4cc390 Use .long for pointers on 32-bit platforms
> 5e5b927b38ca Build crashpad_client_linux.cc on Android
> eec1e17ab558 Fix two bugs in memset()ing CrashpadInfo on size mismatch
> 4717300fa4ce Reset CrashpadInfo after CrashpadInfoReader tests
> f9d160ffc6bb Revert "Reset CrashpadInfo after CrashpadInfoReader tests"
> 6798ba912e96 Reset CrashpadInfo after CrashpadInfoReader tests
> 0429216f59b1 linux: Add CrashReportExceptionHandler
> f38af628c9dc fuchsia: Don't fail rename if source == dest
> 040360239343 Fix
>              CrashpadInfoSizes_ClientOptions/CrashpadInfoSizes_ClientOpt
>              ions
> 10222b12362c fuchsia: Disable TimeZone.Basic test as timezones are non-
>              functional
> 5cb869392eed fuchsia: Compile out LoggingLock/UnlockFile, add DCHECKs to
>              Settings
> 4b7895615808 Add .hidden to CRASHPAD_NOTE_REFERENCE
> 8ee14eef08f3 fuchsia: Fix some packaging when run isn't from Crashpad
>              source root
> 4a9d422652a1 Turn fuchsia trybots on by default
> ec33c25797f9 fuchsia: Don't include sys/resource.h, recently removed
>              from SDK
> 8b738cd24d59 Don't include crash_report_database_generic.cc on Win/Mac
> d2a866978b89 Makes 'all' build on Linux
> d8d03172c278 arm: Capture context around pc and registers
> ebad8bd925c3 Don't spawn an upload thread if url is empty
> 0520fdff1edc linux: Move ScopedPrSetPtracer to util/
> 38540eaf71cb Add handler options for Linux/Android
> 01105719d767 linux: add CRASHPAD_SIMULATE_CRASH()
> 3dd85dc12638 fuchsia: Make ImageAnnotationReader[Test] work
> cab259330f2e fuchsia: Pass more data out of module snapshot
> 1aae5cedaf1e Refactor ModuleSnapshot(Linux|Fuchsia) into
>              ModuleSnapshotElf
> 4d96e4e504ef fuchsia: Return ModuleSnapshot* out of
>              ProcessSnapshotFuchsia
> 2290a826af1e Pull (most) platform-specific MemorySnapshots out
> 3030ae54171a fuchsia: Fix ninja auto-regen after run
> 61f1013ee4ef fuchsia: Add some thread reading to ProcessReader and a
>              test
> c69ba3d52783 non-win: Add
>              Multiprocess::SetExpectedChildTerminationBuiltinTrap()
> f130822b9f4b linux: Add CrashpadClient tests
> 2b05eb522fa4 Rename ProcessReader to platform-suffixed versions
> fa2a03fbdd0f linux: Add CrashpadClient::SetFirstChanceExceptionHandler()
> cd3afe616e63 Linux: Pull and use clang toolchain in third_party
> 8e80a575d15f Linux: Pull a sysroot if pulling a local clang
> fae18c2fc492 fuchsia: Add implementation of ThreadSnapshot
> a869ae18d256 Workaround for death test failure when in threadsafe mode
>              on Mac
> 8a12f5893050 fuchsia: Take bots off CQ pending flake investigation
> 9affa2a0e72d Optionally stub out the libcurl-based implementation of
>              HTTPTransport
> dec23bef5769 win gn: reintroduce flags to disable warnings
> 746ce1a63703 Roll mini_chromium to 987bde8
> 493e29bc3df0 win: Use correct format specifier
> a45e88602b90 Skip ELF notes with a p_vaddr of zero
> 71d90608828d Add Linux trybots to CQ
> 449506d59c6a Roll mini_chromium to ef0df11
> 82777cff5848 win: fix warnings when building with clang
> 23b2156fb694 Don’t read beyond a StringPiece’s bounds in
>              StringToNumber()
> 4375233ad2da win: fix 64-bit build
> 
> Also:
> Add new metrics enums values.
> Use new CrashReportDatabase interface.
> 
> Bug: crashpad:30, chromium:817982, chromium:818376
> Change-Id: Ib4fcc423f68a4c80907968498264413f3f229c5c
> Reviewed-on: https://chromium-review.googlesource.com/947745
> Commit-Queue: Chris Palmer <palmer@chromium.org>
> Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#540894}

TBR=palmer@chromium.org,jperaza@chromium.org,mark@chromium.org,siggi@chromium.org

Change-Id: I2fbdde093d12fc1f93bd10478f6022effa0d8d2e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: crashpad:30, chromium:817982, chromium:818376
Reviewed-on: https://chromium-review.googlesource.com/950343
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541006}
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/components/browser_watcher/postmortem_report_collector.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/components/browser_watcher/postmortem_report_collector.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/components/browser_watcher/postmortem_report_collector_unittest.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/components/crash/content/app/minidump_with_crashpad_info.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/README.chromium
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/.gitignore
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/DEPS
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/build/BUILDCONFIG.gn
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/build/install_linux_sysroot.py
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/build/run_tests.py
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/BUILD.gn
[rename] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/capture_context_mac.S
[add] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/capture_context_mac.h
[add] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/capture_context_mac_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/client.gyp
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/client_test.gyp
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crash_report_database.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crash_report_database.h
[add] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crash_report_database_fuchsia.cc
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/client/crash_report_database_generic.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crash_report_database_mac.mm
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crash_report_database_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crash_report_database_win.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crashpad_client.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/client/crashpad_client_linux_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crashpad_client_win.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/crashpad_info.cc
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/client/crashpad_info_note.S
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/prune_crash_reports_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/settings.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/settings.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/settings_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/simple_string_dictionary_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/simulate_crash.h
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/client/simulate_crash_linux.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/simulate_crash_mac.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/client/simulate_crash_win.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/BUILD.gn
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/crash_report_upload_thread.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/crashpad_handler.md
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/crashpad_handler_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/handler.gyp
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/handler_main.cc
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.cc
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/handler/linux/crash_report_exception_handler.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/linux/exception_handler_server_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/mac/crash_report_exception_handler.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/prune_crash_reports_thread.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/win/crash_other_program.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/win/crash_report_exception_handler.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/win/crashy_test_program.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/handler/win/loader_lock_dll.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/infra/config/cq.cfg
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/minidump/minidump_system_info_writer.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/BUILD.gn
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/capture_memory.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_module.cc
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/snapshot/crashpad_info_size_test_note.S
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/crashpad_types/crashpad_info_reader_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/crashpad_types/image_annotation_reader_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/elf/elf_image_reader_test_note.S
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.cc
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia.h
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/snapshot/fuchsia/process_reader_fuchsia_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/fuchsia/process_snapshot_fuchsia.h
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.cc
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/snapshot/fuchsia/thread_snapshot_fuchsia.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
[add] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.cc
[add] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/memory_snapshot_linux.h
[rename] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/module_snapshot_linux.cc
[rename] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/module_snapshot_linux.h
[rename] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/process_reader.cc
[rename] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/process_reader.h
[rename] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/process_reader_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/process_snapshot_linux.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/exception_snapshot_mac.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_annotations_reader_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_symbol_table_reader.h
[add] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.cc
[add] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/memory_snapshot_mac.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/module_snapshot_mac.h
[rename] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/process_reader.cc
[rename] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/process_reader.h
[rename] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/process_reader_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/process_snapshot_mac.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/process_types.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/process_types.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/process_types/custom.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/process_types_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/system_snapshot_mac_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/mac/thread_snapshot_mac.h
[delete] https://crrev.com/d82b894ef50199f91fc3a83307b709b13062e5f8/third_party/crashpad/crashpad/snapshot/memory_snapshot_generic.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/snapshot.gyp
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/snapshot_test.gyp
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_crashing_child.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/win/crashpad_snapshot_test_dump_without_crashing.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/win/module_snapshot_win.h
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/win/process_reader_win.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/snapshot/win/system_snapshot_win_test.cc
[modify] https://crrev.com/db6afd2fb363ffae0c563fb6dee1a5c7469b88ff/third_party/crashpad/crashpad/test/BUILD.gn
[rename] https://crrev.c
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c8bccdf109b1dcad454f4e26e868dc3d3af099f0

commit c8bccdf109b1dcad454f4e26e868dc3d3af099f0
Author: Chris Palmer <palmer@chromium.org>
Date: Tue Mar 06 01:13:25 2018

Add range checks for `StringPiece`.

Range check `operator[]`, `front`, `back`, and  `remove_{pre,suf}fix`.

Bug: 817982,818376, 818844 
Change-Id: I3a0b560af273c9b04237a18a1bc0b56283d3d824
Reviewed-on: https://chromium-review.googlesource.com/945049
Commit-Queue: Chris Palmer <palmer@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541012}
[modify] https://crrev.com/c8bccdf109b1dcad454f4e26e868dc3d3af099f0/base/strings/string_piece.h

Project Member

Comment 6 by bugdroid1@chromium.org, Mar 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b0c7b406613114aa86bbe9040756e99fd913518

commit 2b0c7b406613114aa86bbe9040756e99fd913518
Author: Jan Wilken Dörrie <jdoerrie@chromium.org>
Date: Tue Mar 06 09:44:42 2018

Revert "Add range checks for `StringPiece`."

This reverts commit c8bccdf109b1dcad454f4e26e868dc3d3af099f0.

Reason for revert: This change has r540894 as dependency. However, r540894 was reverted in r541006, just before this patch landed. Since this currently causes failures on Mac due to crashpad errors, I am reverting this change for now.

Original change's description:
> Add range checks for `StringPiece`.
> 
> Range check `operator[]`, `front`, `back`, and  `remove_{pre,suf}fix`.
> 
> Bug: 817982,818376, 818844 
> Change-Id: I3a0b560af273c9b04237a18a1bc0b56283d3d824
> Reviewed-on: https://chromium-review.googlesource.com/945049
> Commit-Queue: Chris Palmer <palmer@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#541012}

TBR=palmer@chromium.org,dcheng@chromium.org,mark@chromium.org

Change-Id: I7d5c2ca050869aff8dca4ba6b724761172aa1d83
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 817982, 818376,  818844 
Reviewed-on: https://chromium-review.googlesource.com/950822
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541060}
[modify] https://crrev.com/2b0c7b406613114aa86bbe9040756e99fd913518/base/strings/string_piece.h

Blockedon: 819216
Project Member

Comment 8 by bugdroid1@chromium.org, Mar 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f8c6fb6d754c847a891129a1f3ea7245ed8602c

commit 3f8c6fb6d754c847a891129a1f3ea7245ed8602c
Author: Joshua Peraza <jperaza@chromium.org>
Date: Tue Mar 06 20:22:05 2018

Don't read beyond a StringPiece's bounds in StringToNumber()

This change was included in
https://chromium-review.googlesource.com/c/chromium/src/+/947745
and was reverted by
https://chromium-review.googlesource.com/c/chromium/src/+/950343
but is still needed by
https://chromium-review.googlesource.com/c/chromium/src/+/945049

Bug: chromium:817982, chromium:818376
Change-Id: I4f97d632ba9f86c17d3df55c404c0ae14e1d39c9
Reviewed-on: https://chromium-review.googlesource.com/950466
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541183}
[modify] https://crrev.com/3f8c6fb6d754c847a891129a1f3ea7245ed8602c/third_party/crashpad/README.chromium
[modify] https://crrev.com/3f8c6fb6d754c847a891129a1f3ea7245ed8602c/third_party/crashpad/crashpad/util/linux/memory_map.cc
[modify] https://crrev.com/3f8c6fb6d754c847a891129a1f3ea7245ed8602c/third_party/crashpad/crashpad/util/mach/symbolic_constants_mach.cc
[modify] https://crrev.com/3f8c6fb6d754c847a891129a1f3ea7245ed8602c/third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc
[modify] https://crrev.com/3f8c6fb6d754c847a891129a1f3ea7245ed8602c/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.cc
[modify] https://crrev.com/3f8c6fb6d754c847a891129a1f3ea7245ed8602c/third_party/crashpad/crashpad/util/stdlib/string_number_conversion.h
[modify] https://crrev.com/3f8c6fb6d754c847a891129a1f3ea7245ed8602c/third_party/crashpad/crashpad/util/stdlib/string_number_conversion_test.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Mar 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e5a6dfada32caaccc93e4f3ca4cb0bd0f6cdd019

commit e5a6dfada32caaccc93e4f3ca4cb0bd0f6cdd019
Author: Chris Palmer <palmer@chromium.org>
Date: Tue Mar 06 21:40:08 2018

Reland "Add range checks for `StringPiece`."

This reverts commit 2b0c7b406613114aa86bbe9040756e99fd913518.

Reason for revert: https://chromium-review.googlesource.com/950466 re-fixed the crashpad bug, so we should be good to land this again.

Original change's description:
> Revert "Add range checks for `StringPiece`."
> 
> This reverts commit c8bccdf109b1dcad454f4e26e868dc3d3af099f0.
> 
> Reason for revert: This change has r540894 as dependency. However, r540894 was reverted in r541006, just before this patch landed. Since this currently causes failures on Mac due to crashpad errors, I am reverting this change for now.
> 
> Original change's description:
> > Add range checks for `StringPiece`.
> > 
> > Range check `operator[]`, `front`, `back`, and  `remove_{pre,suf}fix`.
> > 
> > Bug: 817982,818376, 818844 
> > Change-Id: I3a0b560af273c9b04237a18a1bc0b56283d3d824
> > Reviewed-on: https://chromium-review.googlesource.com/945049
> > Commit-Queue: Chris Palmer <palmer@chromium.org>
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Reviewed-by: Mark Mentovai <mark@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#541012}
> 
> TBR=palmer@chromium.org,dcheng@chromium.org,mark@chromium.org
> 
> Change-Id: I7d5c2ca050869aff8dca4ba6b724761172aa1d83
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 817982, 818376,  818844 
> Reviewed-on: https://chromium-review.googlesource.com/950822
> Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#541060}

TBR=palmer@chromium.org,dcheng@chromium.org,mark@chromium.org,jdoerrie@chromium.org

Change-Id: I50637027781401fc96b75bb749c5baa80dcc14a8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 817982, 818376,  818844 
Reviewed-on: https://chromium-review.googlesource.com/951868
Reviewed-by: Chris Palmer <palmer@chromium.org>
Commit-Queue: Chris Palmer <palmer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541201}
[modify] https://crrev.com/e5a6dfada32caaccc93e4f3ca4cb0bd0f6cdd019/base/strings/string_piece.h

Summary: Security: There is no range checking in `StringPiece`, `span`, and other custom containers (was: Security: There is no range checking in `StringPiece`)
Labels: -Restrict-View-SecurityTeam Hotlist-GoodFirstBug
Unrestricting; this is regular ol' feature work now. Also, it's relatively easy and makes a good first bug for an open source contributor or intern: just search for classes that have `operator[]`, add `CHECK`s, and see if perf bots get angry.
Another point to note: both base::StringPiece and base::span's iterators are not bounds-checked. This means that a loop like:

  for (auto it = foo.begin(); it != foo.end(); it += 4) {}

... will not terminate as expected if the size of |it|'s container is not %4==0. 

This is because the iterator type on both of those containers is implemented as T*, and begin() returns data_ and end() is data_+size_.

FWIW absl does the same thing:
https://github.com/abseil/abseil-cpp/blob/eb5bbdda6cdc303f3d995254c307437733a1c147/absl/strings/string_view.h#L153
https://github.com/abseil/abseil-cpp/blob/eb5bbdda6cdc303f3d995254c307437733a1c147/absl/types/span.h#L275

But GSL does not:
https://github.com/Microsoft/GSL/blob/c9e423d7cf2afb88672e31f55e4b30c53be7aae3/include/gsl/span#L196

Project Member

Comment 13 by bugdroid1@chromium.org, Mar 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c23f9b13896afc28fcb72c192d06e0401441352d

commit c23f9b13896afc28fcb72c192d06e0401441352d
Author: Chris Palmer <palmer@chromium.org>
Date: Sat Mar 10 03:32:32 2018

Add range checking to `base::span`.

Bug: 817982
Change-Id: I823b9203db0f549c19f9de7f5ac742ba358b8858
Reviewed-on: https://chromium-review.googlesource.com/952187
Commit-Queue: Chris Palmer <palmer@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542337}
[modify] https://crrev.com/c23f9b13896afc28fcb72c192d06e0401441352d/base/containers/span.h
[modify] https://crrev.com/c23f9b13896afc28fcb72c192d06e0401441352d/base/containers/span_unittest.cc

Cc: davidben@chromium.org
Re comment #12, there is sadly quite a lot of code which depends on base::StringPiece's iterators being const char*, by way of base::CStringTokenizer, because the normal base::StringTokenizer only works on std::string::const_iterator.

Over in issue #820198, I'm trying to chew through a lot of the base::StringTokenizer bits, but it's all rather tightly intertwined with everything. The trouble is while going from std::string::const_iterator pairs to base::StringPiece works, the other direction does not.
Cc: jdoerrie@chromium.org engedy@chromium.org
Does it make sense to apply a similar change to base::Optional and promote the DCHECKs in value() to CHECKs? [1] +engedy@ and I were discussing this today, and we weren't immediately sure what would happen when trying to access the value() of a default constructed Optional when DCHECKs are off. Also a CHECK will be closer to what we will experience once we switch to std::optional. Here value() throws when invoked on a nullopt. [2]

[1] https://codesearch.chromium.org/chromium/src/base/optional.h?l=594&rcl=7e57b2d6c8406a676967813822d0551d9b86005d 
[2] http://en.cppreference.com/w/cpp/utility/optional/value#Exceptions
#15: Sure, try it out and see how it goes!
Project Member

Comment 17 by bugdroid1@chromium.org, Apr 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c85bfab56bd24e8309d41d6accc888f952fd3cb2

commit c85bfab56bd24e8309d41d6accc888f952fd3cb2
Author: jdoerrie <jdoerrie@chromium.org>
Date: Thu Apr 12 15:01:30 2018

[base] Fail CHECK when dereferencing an empty optional

This change promotes the DCHECKs in base::Optional::value() to CHECKs
in order to match std::optional more closely. Furthermore, it also
CHECKs when dereferencing a base::Optional via operator* or operator->.

Bug: 817982
Change-Id: Ib2bfdd3a863e8bade21fa1b6b1c10c7c4d2ca135
Reviewed-on: https://chromium-review.googlesource.com/997335
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550197}
[modify] https://crrev.com/c85bfab56bd24e8309d41d6accc888f952fd3cb2/base/optional.h

Project Member

Comment 18 by bugdroid1@chromium.org, Apr 17

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c85bfab56bd24e8309d41d6accc888f952fd3cb2

commit c85bfab56bd24e8309d41d6accc888f952fd3cb2
Author: jdoerrie <jdoerrie@chromium.org>
Date: Thu Apr 12 15:01:30 2018

[base] Fail CHECK when dereferencing an empty optional

This change promotes the DCHECKs in base::Optional::value() to CHECKs
in order to match std::optional more closely. Furthermore, it also
CHECKs when dereferencing a base::Optional via operator* or operator->.

Bug: 817982
Change-Id: Ib2bfdd3a863e8bade21fa1b6b1c10c7c4d2ca135
Reviewed-on: https://chromium-review.googlesource.com/997335
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550197}
[modify] https://crrev.com/c85bfab56bd24e8309d41d6accc888f952fd3cb2/base/optional.h

Labels: -Pri-1 -M-66 M-69 Pri-2
This is on-going work, so the milestone will move (until we have solved all problems and live in a dream world of perfect checking).
Project Member

Comment 20 by bugdroid1@chromium.org, Jul 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/940e9a3140b1e0b636f185ff65f20226e997d897

commit 940e9a3140b1e0b636f185ff65f20226e997d897
Author: Chris Palmer <palmer@chromium.org>
Date: Thu Jul 12 18:58:43 2018

Change DECHECKs to CHECKs in `base::RingBuffer`.

Better safe than sorry!

In the process, do some micro-optimization to make the CHECKs as cheap as
possible.

Bug: 817982
Change-Id: I2c45d7e773199a12ce4ae34b4a750ac2b66cb7c2
Reviewed-on: https://chromium-review.googlesource.com/1134486
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Chris Palmer <palmer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574656}
[modify] https://crrev.com/940e9a3140b1e0b636f185ff65f20226e997d897/base/containers/ring_buffer.h

Project Member

Comment 21 by bugdroid1@chromium.org, Aug 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/daba29bf0c66e373c1d49b50dc714d49b4a2befe

commit daba29bf0c66e373c1d49b50dc714d49b4a2befe
Author: Chris Palmer <palmer@chromium.org>
Date: Fri Aug 03 22:17:21 2018

Add safety checks to base::small_map.

Also use the correct type, size_t, for its size.

Some code cleanup and simplification.

Bug: 817982
Change-Id: I42f4d4230a60d64de8ea483450159c92475e3e4b
Reviewed-on: https://chromium-review.googlesource.com/1157649
Commit-Queue: Chris Palmer <palmer@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580671}
[modify] https://crrev.com/daba29bf0c66e373c1d49b50dc714d49b4a2befe/base/containers/small_map.h

Project Member

Comment 22 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b586d770ad4c96daaef4104e89e43126568c6e3f

commit b586d770ad4c96daaef4104e89e43126568c6e3f
Author: Chris Palmer <palmer@chromium.org>
Date: Wed Aug 15 03:57:37 2018

Add range and arithmetic checks to `base::VectorBuffer`.

Bug: 817982
Change-Id: If8602db9f284873f037775f3a37bcac8e120b313
Reviewed-on: https://chromium-review.googlesource.com/1166456
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Chris Palmer <palmer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583155}
[modify] https://crrev.com/b586d770ad4c96daaef4104e89e43126568c6e3f/base/containers/vector_buffer.h

Project Member

Comment 23 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f1f8f9114c89cb855a8ffb6c84c5d142a0159e43

commit f1f8f9114c89cb855a8ffb6c84c5d142a0159e43
Author: Chris Palmer <palmer@chromium.org>
Date: Tue Aug 21 18:31:26 2018

Add a Safety section to the base/containers documentation.

Also some copy-editing and formatting along the way.

Bug: 817982
Change-Id: I1c83abc7db8b60ceeeea22287875987fffe446a3
Reviewed-on: https://chromium-review.googlesource.com/1168286
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Chris Palmer <palmer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584851}
[modify] https://crrev.com/f1f8f9114c89cb855a8ffb6c84c5d142a0159e43/base/containers/README.md

Project Member

Comment 25 by bugdroid1@chromium.org, Sep 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f80b9a84001d27481ac978d2a545132f2e75e61

commit 5f80b9a84001d27481ac978d2a545132f2e75e61
Author: Chris Palmer <palmer@chromium.org>
Date: Thu Sep 06 19:38:32 2018

Revert "Add `CheckedRandomAccess[Const]Iterator`."

This reverts commit 383049f284c02d11f4026b365c8a4d902185dbb8.

Reason for revert: Landed wrong patchset!

Original change's description:
> Add `CheckedRandomAccess[Const]Iterator`.
> 
> And add a first call site.
> 
> Bug: 817982
> Cq-Include-Trybots: luci.chromium.try:linux_mojo;master.tryserver.chromium.linux:linux_mojo
> Change-Id: I2db298494e4f562ffac1f68b87c7a617e592f196
> Reviewed-on: https://chromium-review.googlesource.com/963726
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Matt Menke <mmenke@chromium.org>
> Reviewed-by: Jeffrey Yasskin <jyasskin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#589244}

TBR=ajwong@chromium.org,palmer@chromium.org,dcheng@chromium.org,jyasskin@chromium.org,mmenke@chromium.org,tsepez@chromium.org,nharper@chromium.org

Change-Id: Icf99f8409054d853a15b8d27cdb232ff727f8a42
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 817982
Cq-Include-Trybots: luci.chromium.try:linux_mojo;master.tryserver.chromium.linux:linux_mojo
Reviewed-on: https://chromium-review.googlesource.com/1211743
Reviewed-by: Chris Palmer <palmer@chromium.org>
Commit-Queue: Chris Palmer <palmer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589245}
[modify] https://crrev.com/5f80b9a84001d27481ac978d2a545132f2e75e61/base/BUILD.gn
[delete] https://crrev.com/383049f284c02d11f4026b365c8a4d902185dbb8/base/containers/checked_iterators.h
[modify] https://crrev.com/5f80b9a84001d27481ac978d2a545132f2e75e61/base/containers/span.h
[modify] https://crrev.com/5f80b9a84001d27481ac978d2a545132f2e75e61/base/containers/span_unittest.cc
[modify] https://crrev.com/5f80b9a84001d27481ac978d2a545132f2e75e61/base/values.cc
[modify] https://crrev.com/5f80b9a84001d27481ac978d2a545132f2e75e61/net/socket/socket_test_util.cc
[modify] https://crrev.com/5f80b9a84001d27481ac978d2a545132f2e75e61/services/network/udp_socket.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Sep 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/18605eed4b13def40726aa8e6dcac6cb0b0cce00

commit 18605eed4b13def40726aa8e6dcac6cb0b0cce00
Author: Chris Palmer <palmer@chromium.org>
Date: Thu Sep 06 20:33:44 2018

Reland "Add `CheckedRandomAccess[Const]Iterator`."

This reverts commit 5f80b9a84001d27481ac978d2a545132f2e75e61.

Reason for revert: Revert was wrong; it was OK the first time.

Original change's description:
> Revert "Add `CheckedRandomAccess[Const]Iterator`."
> 
> This reverts commit 383049f284c02d11f4026b365c8a4d902185dbb8.
> 
> Reason for revert: Landed wrong patchset!
> 
> Original change's description:
> > Add `CheckedRandomAccess[Const]Iterator`.
> > 
> > And add a first call site.
> > 
> > Bug: 817982
> > Cq-Include-Trybots: luci.chromium.try:linux_mojo;master.tryserver.chromium.linux:linux_mojo
> > Change-Id: I2db298494e4f562ffac1f68b87c7a617e592f196
> > Reviewed-on: https://chromium-review.googlesource.com/963726
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Reviewed-by: Matt Menke <mmenke@chromium.org>
> > Reviewed-by: Jeffrey Yasskin <jyasskin@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#589244}
> 
> TBR=ajwong@chromium.org,palmer@chromium.org,dcheng@chromium.org,jyasskin@chromium.org,mmenke@chromium.org,tsepez@chromium.org,nharper@chromium.org
> 
> Change-Id: Icf99f8409054d853a15b8d27cdb232ff727f8a42
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 817982
> Cq-Include-Trybots: luci.chromium.try:linux_mojo;master.tryserver.chromium.linux:linux_mojo
> Reviewed-on: https://chromium-review.googlesource.com/1211743
> Reviewed-by: Chris Palmer <palmer@chromium.org>
> Commit-Queue: Chris Palmer <palmer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#589245}

TBR=ajwong@chromium.org,palmer@chromium.org,dcheng@chromium.org,jyasskin@chromium.org,mmenke@chromium.org,tsepez@chromium.org,nharper@chromium.org

Change-Id: Ieba0af822a2287583cf37a109538f6ceeb8e4f98
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 817982
Cq-Include-Trybots: luci.chromium.try:linux_mojo;master.tryserver.chromium.linux:linux_mojo
Reviewed-on: https://chromium-review.googlesource.com/1211902
Reviewed-by: Chris Palmer <palmer@chromium.org>
Commit-Queue: Chris Palmer <palmer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589278}
[modify] https://crrev.com/18605eed4b13def40726aa8e6dcac6cb0b0cce00/base/BUILD.gn
[add] https://crrev.com/18605eed4b13def40726aa8e6dcac6cb0b0cce00/base/containers/checked_iterators.h
[modify] https://crrev.com/18605eed4b13def40726aa8e6dcac6cb0b0cce00/base/containers/span.h
[modify] https://crrev.com/18605eed4b13def40726aa8e6dcac6cb0b0cce00/base/containers/span_unittest.cc
[modify] https://crrev.com/18605eed4b13def40726aa8e6dcac6cb0b0cce00/base/values.cc
[modify] https://crrev.com/18605eed4b13def40726aa8e6dcac6cb0b0cce00/net/socket/socket_test_util.cc
[modify] https://crrev.com/18605eed4b13def40726aa8e6dcac6cb0b0cce00/services/network/udp_socket.cc

Sign in to add a comment