From 875f2fcc1e4aed074d75172ad3d4aaef39edf937 Mon Sep 17 00:00:00 2001 From: chenrun1 Date: Thu, 11 Apr 2024 20:40:49 +0800 Subject: [PATCH] ramspeed:Fix memleak due to double malloc. if (allocate_rw_address) { info->dest = malloc(info->size); info->src = malloc(info->size); } if ((info->dest == NULL && !info->allocate_rw_address) || info->size == 0) { printf(RAMSPEED_PREFIX "Missing required arguments\n"); goto out; } else { /* We need to automatically apply for memory */ printf(RAMSPEED_PREFIX "Allocate RW buffers on heap\n"); info->dest = malloc(info->size); if (info->dest == NULL) { printf(RAMSPEED_PREFIX "Dest Alloc Memory Failed!\n"); goto out; } info->src = malloc(info->size); if (info->src == NULL) { printf(RAMSPEED_PREFIX "Src Alloc Memory Failed!\n"); goto out; } } Signed-off-by: chenrun1 --- benchmarks/ramspeed/ramspeed_main.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/benchmarks/ramspeed/ramspeed_main.c b/benchmarks/ramspeed/ramspeed_main.c index 7c1b1c3d3..2432f67d8 100644 --- a/benchmarks/ramspeed/ramspeed_main.c +++ b/benchmarks/ramspeed/ramspeed_main.c @@ -187,22 +187,6 @@ static void parse_commandline(int argc, FAR char **argv, } } - if (info->allocate_rw_address) - { - info->dest = malloc(info->size); - if (info->dest == NULL) - { - printf(RAMSPEED_PREFIX "Dest Alloc Memory Failed!\n"); - } - - info->src = malloc(info->size); - if (info->src == NULL) - { - free(info->dest); - printf(RAMSPEED_PREFIX "Src Alloc Memory Failed!\n"); - } - } - if ((info->dest == NULL && !info->allocate_rw_address) || info->size == 0) { printf(RAMSPEED_PREFIX "Missing required arguments\n");