2016-04-28 16:49:04

by Vaishali Thakkar

[permalink] [raw]
Subject: [PATCH] perf tests: Do not use sizeof on pointer type

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 <[email protected]>
---
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


2016-04-28 18:36:11

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf tests: Do not use sizeof on pointer type

Em Thu, Apr 28, 2016 at 10:16:57PM +0530, Vaishali Thakkar escreveu:
> 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.

Thanks, applied.

- Arnaldo