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 <chenrun1@xiaomi.com>
This commit is contained in:
parent
e04782816f
commit
875f2fcc1e
@ -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)
|
if ((info->dest == NULL && !info->allocate_rw_address) || info->size == 0)
|
||||||
{
|
{
|
||||||
printf(RAMSPEED_PREFIX "Missing required arguments\n");
|
printf(RAMSPEED_PREFIX "Missing required arguments\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user