From: Arnaud Giersch Date: Wed, 6 Jul 2011 11:55:21 +0000 (+0200) Subject: Use strtol instead of sscanf+sprintf for parsing and error checking. X-Git-Tag: v3_6_2~188^2~35 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/2eeb460a4bad7a20e247006d5165879efb1957ac?ds=sidebyside;hp=78d9b3dfb63366dcaa3c157454de03a30e7ba099 Use strtol instead of sscanf+sprintf for parsing and error checking. --- 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); }