From 2fe2569276fcf239fbc8a4177700598acaae7bd9 Mon Sep 17 00:00:00 2001 From: Adam Malinowski Date: Fri, 25 Jul 2014 11:31:28 +0200 Subject: [PATCH] Correct snprintf format string in Backtrace::buildBacktrace() method Additionally use static_cast and reduce scope of local variable. Change-Id: Idbaf8f6622ae8bf4e2610e378c6a001ea3a0acbf --- src/common/log/Backtrace.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/common/log/Backtrace.cpp b/src/common/log/Backtrace.cpp index d2e9550..36b3c27 100644 --- a/src/common/log/Backtrace.cpp +++ b/src/common/log/Backtrace.cpp @@ -62,7 +62,6 @@ const std::string Backtrace::buildBacktrace(void) { char proc_name[BUFSIZ]; char btstr[BUFSIZ]; unw_word_t offp; - char *realname; int status; unw_getcontext(&uc); @@ -73,11 +72,11 @@ const std::string Backtrace::buildBacktrace(void) { unw_get_reg(&cursor, UNW_REG_IP, &ip); unw_get_reg(&cursor, UNW_REG_SP, &sp); unw_get_proc_name(&cursor, proc_name, sizeof(proc_name), &offp); - realname = abi::__cxa_demangle(proc_name, 0, 0, &status); + char *realname = abi::__cxa_demangle(proc_name, 0, 0, &status); getSourceInfo(ip); - snprintf(btstr, sizeof(btstr), "ip = %lx, sp = %lx, %s, %s:%d\n", - (long) ip, (long) sp, realname ? realname : proc_name, + snprintf(btstr, sizeof(btstr), "ip = %p, sp = %p, %s, %s:%u\n", + ip, sp, realname ? realname : proc_name, m_fileName, m_lineNumber); free(realname); backtrace += btstr; -- 2.7.4