From 05a802a2c1f9197722e480d3430c24fbfcaf5400 Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Tue, 14 Mar 2023 03:05:58 +0100 Subject: [PATCH] test: Fix memory leaks in fpurge test Warned-by: gcc -fsanitize=leak --- test/fpurge.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/test/fpurge.c b/test/fpurge.c index be6a593..62d55da 100644 --- a/test/fpurge.c +++ b/test/fpurge.c @@ -28,12 +28,25 @@ #include #include +static int +test_memstream(FILE *fp, size_t bufsz) +{ + fputs("World", fp); + if (fpurge(fp) < 0) + return 1; + fflush(fp); + if (bufsz != 0) + return 1; + return 0; +} + int main(int argc, char *argv[]) { FILE *fp; char *buf = NULL; size_t bufsz = 0; + int rc; if (fpurge(NULL) == 0) return 1; @@ -45,13 +58,9 @@ main(int argc, char *argv[]) fclose(fp); fp = open_memstream(&buf, &bufsz); - fputs("World", fp); - if (fpurge(fp) < 0) - return 1; - fflush(fp); - if (bufsz != 0) - return 1; + rc = test_memstream(fp, bufsz); + fclose(fp); free(buf); - return 0; + return rc; } -- 2.47.2