2013-10-16 23:59:46 +02:00
|
|
|
// Copyright (c) 2013, Facebook, Inc. All rights reserved.
|
|
|
|
// This source code is licensed under the BSD-style license found in the
|
|
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
//
|
2014-04-23 15:11:35 +02:00
|
|
|
#include "port/stack_trace.h"
|
2013-04-16 23:20:05 +02:00
|
|
|
#include <assert.h>
|
|
|
|
|
2014-04-10 06:17:14 +02:00
|
|
|
namespace {
|
2013-04-16 23:20:05 +02:00
|
|
|
void f0() {
|
|
|
|
char *p = nullptr;
|
2015-02-14 00:10:47 +01:00
|
|
|
|
|
|
|
#ifndef __clang_analyzer__
|
2014-09-29 23:00:18 +02:00
|
|
|
// cppcheck-suppress nullPointer
|
2013-04-16 23:20:05 +02:00
|
|
|
*p = 10; /* SIGSEGV here!! */
|
2015-02-14 00:10:47 +01:00
|
|
|
#endif
|
2013-04-16 23:20:05 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
void f1() {
|
|
|
|
f0();
|
|
|
|
}
|
|
|
|
|
|
|
|
void f2() {
|
|
|
|
f1();
|
|
|
|
}
|
|
|
|
|
|
|
|
void f3() {
|
|
|
|
f2();
|
|
|
|
}
|
2014-04-10 06:17:14 +02:00
|
|
|
} // namespace
|
2013-04-16 23:20:05 +02:00
|
|
|
|
|
|
|
int main() {
|
2014-04-23 15:11:35 +02:00
|
|
|
rocksdb::port::InstallStackTraceHandler();
|
2013-04-16 23:20:05 +02:00
|
|
|
|
|
|
|
f3();
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|