From: Adrian Hunter Date: Tue, 3 Dec 2013 07:23:06 +0000 (+0200) Subject: perf tools: Use asprintf instead of malloc plus snprintf X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d88938ebc97df72320609b33aa0cf9a9a98accb1;p=linux-beck.git perf tools: Use asprintf instead of malloc plus snprintf The asprintf library function is equivalent to malloc plus snprintf so use it because it is simpler. Signed-off-by: Adrian Hunter Cc: Andi Kleen Cc: David Ahern Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Jiri Olsa Cc: Mike Galbraith Cc: Namhyung Kim Cc: Paul Mackerras Cc: Peter Zijlstra Cc: Stephane Eranian Link: http://lkml.kernel.org/r/1386055390-13757-4-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c index d11aefbc4b8d..4c8e816a2191 100644 --- a/tools/perf/util/srcline.c +++ b/tools/perf/util/srcline.c @@ -227,7 +227,6 @@ char *get_srcline(struct dso *dso, unsigned long addr) unsigned line = 0; char *srcline; char *dso_name = dso->long_name; - size_t size; if (!dso->has_srcline) return SRCLINE_UNKNOWN; @@ -241,13 +240,7 @@ char *get_srcline(struct dso *dso, unsigned long addr) if (!addr2line(dso_name, addr, &file, &line)) goto out; - /* just calculate actual length */ - size = snprintf(NULL, 0, "%s:%u", file, line) + 1; - - srcline = malloc(size); - if (srcline) - snprintf(srcline, size, "%s:%u", file, line); - else + if (asprintf(&srcline, "%s:%u", file, line) < 0) srcline = SRCLINE_UNKNOWN; free(file);