From 841c4496f7ee7df5eaf41ef2813507993158c3ca Mon Sep 17 00:00:00 2001 From: Tapasya Patki Date: Mon, 29 Jul 2024 20:15:48 -0700 Subject: [PATCH] Fix memory leak in some variorum JSON examples as detected by -fsanitize=address. --- src/examples/variorum-get-energy-json-example.c | 3 +++ src/examples/variorum-get-power-json-example.c | 3 +++ src/examples/variorum-get-utilization-json-example.c | 3 +++ src/examples/variorum-integration-using-json-example.c | 3 +++ 4 files changed, 12 insertions(+) diff --git a/src/examples/variorum-get-energy-json-example.c b/src/examples/variorum-get-energy-json-example.c index e3550408a..8d2dc7b84 100644 --- a/src/examples/variorum-get-energy-json-example.c +++ b/src/examples/variorum-get-energy-json-example.c @@ -64,6 +64,9 @@ int main(int argc, char **argv) /* Print the entire JSON object */ puts(s); + /* Deallocate the string */ + free(s); + #ifdef SECOND_RUN for (i = 0; i < size; i++) { diff --git a/src/examples/variorum-get-power-json-example.c b/src/examples/variorum-get-power-json-example.c index 2e0fc8d9f..61b4e4dff 100644 --- a/src/examples/variorum-get-power-json-example.c +++ b/src/examples/variorum-get-power-json-example.c @@ -64,6 +64,9 @@ int main(int argc, char **argv) /* Print the entire JSON object */ puts(s); + /* Deallocate the string */ + free(s); + #ifdef SECOND_RUN for (i = 0; i < size; i++) { diff --git a/src/examples/variorum-get-utilization-json-example.c b/src/examples/variorum-get-utilization-json-example.c index cfd637004..985e39bdf 100644 --- a/src/examples/variorum-get-utilization-json-example.c +++ b/src/examples/variorum-get-utilization-json-example.c @@ -63,6 +63,9 @@ int main(int argc, char **argv) /* Print the entire JSON object */ puts(s); + /* Deallocate the string */ + free(s); + #ifdef SECOND_RUN for (i = 0; i < size; i++) { diff --git a/src/examples/variorum-integration-using-json-example.c b/src/examples/variorum-integration-using-json-example.c index 88429c81e..057bdc67f 100644 --- a/src/examples/variorum-integration-using-json-example.c +++ b/src/examples/variorum-integration-using-json-example.c @@ -164,6 +164,9 @@ int main(void) puts(s); parse_json_power_obj(s, num_sockets); + /* Deallocate the string */ + free(s); + #ifdef SECOND_RUN for (i = 0; i < size; i++) {