Using sizeof on a malloced pointer type will return the wordsize
which can often cause one to allocate a buffer much smaller than
it is needed. So, here do not use sizeof on pointer type.

Note that this has no effect on runtime because 'dsos' is a
pointer to a pointer.

Problem found using Coccinelle.

Signed-off-by: Vaishali Thakkar <vaishali.thak...@oracle.com>
---
 tools/perf/tests/dso-data.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/tests/dso-data.c b/tools/perf/tests/dso-data.c
index dc673ff..8cf0d9e 100644
--- a/tools/perf/tests/dso-data.c
+++ b/tools/perf/tests/dso-data.c
@@ -202,7 +202,7 @@ static int dsos__create(int cnt, int size)
 {
        int i;
 
-       dsos = malloc(sizeof(dsos) * cnt);
+       dsos = malloc(sizeof(*dsos) * cnt);
        TEST_ASSERT_VAL("failed to alloc dsos array", dsos);
 
        for (i = 0; i < cnt; i++) {
-- 
2.1.4

Reply via email to