Messages in this thread Patch in this message | | | Date | Thu, 23 Jan 2014 09:04:08 -0800 | From | tip-bot for Alan Cox <> | Subject | [tip:perf/urgent] perf tools: Ensure sscanf does not overrun the "mem" field |
| |
Commit-ID: a761a2d8a7175b7b4e8525e0672e1a8d3c051001 Gitweb: http://git.kernel.org/tip/a761a2d8a7175b7b4e8525e0672e1a8d3c051001 Author: Alan Cox <alan@linux.intel.com> AuthorDate: Mon, 20 Jan 2014 19:10:11 +0100 Committer: Arnaldo Carvalho de Melo <acme@redhat.com> CommitDate: Mon, 20 Jan 2014 16:19:08 -0300
perf tools: Ensure sscanf does not overrun the "mem" field
Make the parsing robust.
(perf has some other assumptions that BUFSIZE <= MAX_PATH which are not touched here)
Reported-by: Jackie Chang Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: Alan Cox <gnomes@lxorguk.ukuu.org.uk> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/n/tip-g2uoiwbrpiimb63rx32qv8ne@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/util/header.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index bb3e0ed..893f8e2 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -930,7 +930,7 @@ static int write_topo_node(int fd, int node) /* skip over invalid lines */ if (!strchr(buf, ':')) continue; - if (sscanf(buf, "%*s %*d %s %"PRIu64, field, &mem) != 2) + if (sscanf(buf, "%*s %*d %31s %"PRIu64, field, &mem) != 2) goto done; if (!strcmp(field, "MemTotal:")) mem_total = mem;
| |