Messages in this thread | | | From | Arnaldo Carvalho de Melo <> | Date | Thu, 8 Aug 2019 10:36:28 -0300 | Subject | Re: [PATCH 2/2] perf: Fix writing to illegal memory in handling cpumap mask |
| |
Em Fri, Aug 02, 2019 at 04:29:52PM +0800, zhe.he@windriver.com escreveu: > From: He Zhe <zhe.he@windriver.com> > > cpu_map__snprint_mask would write to illegal memory pointed by zalloc(0) > when there is only one cpu. > > This patch fixes the calculation and adds sanity check against the input > parameters.
Thanks, applied, and added the missing:
Fixes: 4400ac8a9a90 ("perf cpumap: Introduce cpu_map__snprint_mask()")
- Arnaldo
> Signed-off-by: He Zhe <zhe.he@windriver.com> > --- > tools/perf/util/cpumap.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/util/cpumap.c b/tools/perf/util/cpumap.c > index 3acfbe3..39cce66 100644 > --- a/tools/perf/util/cpumap.c > +++ b/tools/perf/util/cpumap.c > @@ -751,7 +751,10 @@ size_t cpu_map__snprint_mask(struct cpu_map *map, char *buf, size_t size) > unsigned char *bitmap; > int last_cpu = cpu_map__cpu(map, map->nr - 1); > > - bitmap = zalloc((last_cpu + 7) / 8); > + if (buf == NULL) > + return 0; > + > + bitmap = zalloc(last_cpu / 8 + 1); > if (bitmap == NULL) { > buf[0] = '\0'; > return 0; > -- > 2.7.4
--
- Arnaldo
| |