[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 04/12] tests/migration: mem leak fix
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[PULL 04/12] tests/migration: mem leak fix |
Date: |
Wed, 17 Jun 2020 19:37:25 +0100 |
From: Mao Zhongyi <maozhongyi@cmss.chinamobile.com>
‘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>
---
tests/migration/stress.c | 21 ++-------------------
1 file changed, 2 insertions(+), 19 deletions(-)
diff --git a/tests/migration/stress.c b/tests/migration/stress.c
index 0c23964693..f9626d50ee 100644
--- a/tests/migration/stress.c
+++ b/tests/migration/stress.c
@@ -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);
}
--
2.26.2
- [PULL 00/12] migration, HMP and virtiofs queue, Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 01/12] virtiofsd: Whitelist fchmod, Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 04/12] tests/migration: mem leak fix,
Dr. David Alan Gilbert (git) <=
- [PULL 03/12] hmp: Make json format optional for qom-set, Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 05/12] tests/migration: fix unreachable path in stress test, Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 02/12] qom-hmp-cmds: fix a memleak in hmp_qom_get, Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 06/12] monitor/hmp-cmds: add units for migrate_parameters, Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 07/12] monitor/hmp-cmds: don't silently output when running 'migrate_set_downtime' fails, Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 08/12] monitor/hmp-cmds: delete redundant Error check before invoke hmp_handle_error(), Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 10/12] monitor/hmp-cmds: improvements for the 'info migrate', Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 09/12] monitor/hmp-cmds: add 'goto end' to reduce duplicate code., Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 11/12] docs/xbzrle: update 'cache miss rate' and 'encoding rate' to docs, Dr. David Alan Gilbert (git), 2020/06/17
- [PULL 12/12] migration: fix multifd_send_pages() next channel, Dr. David Alan Gilbert (git), 2020/06/17