mirror of
https://github.com/xemu-project/xemu.git
synced 2025-02-24 06:31:20 +00:00
tests/migration: mem leak fix
‘data’ has the possibility of memory leaks, so use the glib macros g_autofree recommended by CODING_STYLE.rst to automatically release the memory that returned from g_malloc(). Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20200603080904.997083-2-maozhongyi@cmss.chinamobile.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
2d9e3dd9be
commit
f663492f40
@ -170,26 +170,14 @@ static unsigned long long now(void)
|
||||
static int stressone(unsigned long long ramsizeMB)
|
||||
{
|
||||
size_t pagesPerMB = 1024 * 1024 / PAGE_SIZE;
|
||||
char *ram = malloc(ramsizeMB * 1024 * 1024);
|
||||
g_autofree char *ram = g_malloc(ramsizeMB * 1024 * 1024);
|
||||
char *ramptr;
|
||||
size_t i, j, k;
|
||||
char *data = malloc(PAGE_SIZE);
|
||||
g_autofree char *data = g_malloc(PAGE_SIZE);
|
||||
char *dataptr;
|
||||
size_t nMB = 0;
|
||||
unsigned long long before, after;
|
||||
|
||||
if (!ram) {
|
||||
fprintf(stderr, "%s (%05d): ERROR: cannot allocate %llu MB of RAM: %s\n",
|
||||
argv0, gettid(), ramsizeMB, strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
if (!data) {
|
||||
fprintf(stderr, "%s (%d): ERROR: cannot allocate %d bytes of RAM: %s\n",
|
||||
argv0, gettid(), PAGE_SIZE, strerror(errno));
|
||||
free(ram);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* We don't care about initial state, but we do want
|
||||
* to fault it all into RAM, otherwise the first iter
|
||||
* of the loop below will be quite slow. We can't use
|
||||
@ -198,8 +186,6 @@ static int stressone(unsigned long long ramsizeMB)
|
||||
memset(ram, 0xfe, ramsizeMB * 1024 * 1024);
|
||||
|
||||
if (random_bytes(data, PAGE_SIZE) < 0) {
|
||||
free(ram);
|
||||
free(data);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -227,9 +213,6 @@ static int stressone(unsigned long long ramsizeMB)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
free(data);
|
||||
free(ram);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user