[PATCH][next] perf cputopo: Use struct_size() helper

From: Gustavo A. R. Silva
Date: Mon Jun 22 2020 - 20:32:36 EST


Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.

This code was detected with the help of Coccinelle and, audited and
fixed manually.

Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>
---
tools/perf/util/cputopo.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/cputopo.c b/tools/perf/util/cputopo.c
index 1b52402a8923..1d1b26e39f12 100644
--- a/tools/perf/util/cputopo.c
+++ b/tools/perf/util/cputopo.c
@@ -7,6 +7,7 @@
#include <api/fs/fs.h>
#include <linux/zalloc.h>
#include <perf/cpumap.h>
+#include <linux/overflow.h>

#include "cputopo.h"
#include "cpumap.h"
@@ -321,7 +322,7 @@ struct numa_topology *numa_topology__new(void)

nr = (u32) node_map->nr;

- tp = zalloc(sizeof(*tp) + sizeof(tp->nodes[0])*nr);
+ tp = zalloc(struct_size(tp, nodes, nr));
if (!tp)
goto out;

--
2.27.0