Message ID | bcf225d9b90600b10951ac0a87569344e150ef51.1570159624.git.maozhongyi@cmss.chinamobile.com |
---|---|
State | New |
Headers | show |
Series | some fix in tests/migration | expand |
Le 04/10/2019 à 05:43, Mao Zhongyi a écrit : > ‘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> > --- > tests/migration/stress.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/tests/migration/stress.c b/tests/migration/stress.c > index d9aa4afe92..9e128eef50 100644 > --- a/tests/migration/stress.c > +++ b/tests/migration/stress.c > @@ -170,10 +170,10 @@ 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; > @@ -186,7 +186,6 @@ static int stressone(unsigned long long ramsizeMB) > if (!data) { As g_malloc() aborts on error, data is never NULL. There is the same thing for ram. Thanks, Laurent
diff --git a/tests/migration/stress.c b/tests/migration/stress.c index d9aa4afe92..9e128eef50 100644 --- a/tests/migration/stress.c +++ b/tests/migration/stress.c @@ -170,10 +170,10 @@ 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; @@ -186,7 +186,6 @@ static int stressone(unsigned long long ramsizeMB) 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; } @@ -198,8 +197,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 +224,6 @@ static int stressone(unsigned long long ramsizeMB) } } } - - free(data); - free(ram); }