mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-26 23:01:05 +08:00
4dbd8c75d5
-ftrivial-auto-var-init=pattern automatically initializes all variables with a pattern. This revealed two issues: 1. Unitialized read of field from CrashpadInfoClientOptions. 2. The PC distance check in TestCaptureContext (due to additional instrumentation, the distance is now 76 on x86-64 and 92 on aarch64). Change-Id: I528e5f21c70d2849c9300776da783fde59411e9e Reviewed-on: https://chromium-review.googlesource.com/c/1471691 Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Mark Mentovai <mark@chromium.org>
47 lines
1.6 KiB
C++
47 lines
1.6 KiB
C++
// Copyright 2015 The Crashpad Authors. All rights reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
#include "snapshot/crashpad_info_client_options.h"
|
|
|
|
#include "base/logging.h"
|
|
#include "client/crashpad_info.h"
|
|
|
|
namespace crashpad {
|
|
|
|
// static
|
|
TriState CrashpadInfoClientOptions::TriStateFromCrashpadInfo(
|
|
uint8_t crashpad_info_tri_state) {
|
|
switch (crashpad_info_tri_state) {
|
|
case static_cast<uint8_t>(TriState::kUnset):
|
|
return TriState::kUnset;
|
|
case static_cast<uint8_t>(TriState::kEnabled):
|
|
return TriState::kEnabled;
|
|
case static_cast<uint8_t>(TriState::kDisabled):
|
|
return TriState::kDisabled;
|
|
default:
|
|
LOG(WARNING) << "unknown TriState "
|
|
<< static_cast<int>(crashpad_info_tri_state);
|
|
return TriState::kUnset;
|
|
}
|
|
}
|
|
|
|
CrashpadInfoClientOptions::CrashpadInfoClientOptions()
|
|
: crashpad_handler_behavior(TriState::kUnset),
|
|
system_crash_reporter_forwarding(TriState::kUnset),
|
|
gather_indirectly_referenced_memory(TriState::kUnset),
|
|
indirectly_referenced_memory_cap(0) {
|
|
}
|
|
|
|
} // namespace crashpad
|