From 2eeb460a4bad7a20e247006d5165879efb1957ac Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Wed, 6 Jul 2011 13:55:21 +0200 Subject: [PATCH 1/1] Use strtol instead of sscanf+sprintf for parsing and error checking. --- src/xbt/backtrace_linux.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/xbt/backtrace_linux.c b/src/xbt/backtrace_linux.c index 1892aa1b83..e57e486018 100644 --- a/src/xbt/backtrace_linux.c +++ b/src/xbt/backtrace_linux.c @@ -185,10 +185,8 @@ void xbt_ex_setup_backtrace(xbt_ex_t * e) maps_name = bprintf("/proc/%d/maps", (int) getpid()); maps = fopen(maps_name, "r"); - sscanf(addrs[i], "%lx", &addr); - sprintf(maps_buff, "%#lx", addr); - - if (strcmp(addrs[i], maps_buff)) { + addr = strtol(addrs[i], &p, 16); + if (*p != '\0') { XBT_CRITICAL("Cannot parse backtrace address '%s' (addr=%#lx)", addrs[i], addr); } -- 2.20.1