diff options
author | tschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-13 18:27:40 +0000 |
---|---|---|
committer | tschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-13 18:27:40 +0000 |
commit | 57b765671983005059e8be4523872796b9505428 (patch) | |
tree | c84b82b586cae2b39ef784f1ee1d58c1431bb140 /base/debug_util_posix.cc | |
parent | fd8d08436730ef67591de7665da88e995159b773 (diff) | |
download | chromium_src-57b765671983005059e8be4523872796b9505428.zip chromium_src-57b765671983005059e8be4523872796b9505428.tar.gz chromium_src-57b765671983005059e8be4523872796b9505428.tar.bz2 |
Eliminate all uses of strerror() in code that uses src/base. strerror() is inherently unsafe in multi-threaded apps because it stores the string in a global buffer. It should never be used. If you want to log an error, use PLOG and friends, or if that's too high-level then use safe_strerror().
TEST=built on Linux in 32-bit and 64-bit mode; ran base_unittests in each case; ran Chromium itself in each case; try servers
BUG=none
Review URL: http://codereview.chromium.org/261055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28850 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/debug_util_posix.cc')
-rw-r--r-- | base/debug_util_posix.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/base/debug_util_posix.cc b/base/debug_util_posix.cc index dc86c8c..4b79d73 100644 --- a/base/debug_util_posix.cc +++ b/base/debug_util_posix.cc @@ -21,6 +21,7 @@ #include "base/compat_execinfo.h" #include "base/eintr_wrapper.h" #include "base/logging.h" +#include "base/safe_strerror_posix.h" #include "base/scoped_ptr.h" #include "base/string_piece.h" @@ -150,7 +151,7 @@ void StackTrace::OutputToStream(std::ostream* os) { // If we can't retrieve the symbols, print an error and just dump the raw // addresses. if (trace_symbols.get() == NULL) { - (*os) << "Unable get symbols for backtrace (" << strerror(errno) + (*os) << "Unable get symbols for backtrace (" << safe_strerror(errno) << "). Dumping raw addresses in trace:\n"; for (int i = 0; i < count_; ++i) { (*os) << "\t" << trace_[i] << "\n"; |