From 9bf3a938349c830f8de8d88809e7668fe2f97958 Mon Sep 17 00:00:00 2001 From: Shubham Vasudeo Desai Date: Sat, 18 Jan 2025 19:20:11 -0500 Subject: [PATCH 1/5] Fix Resource Leak issue --- general/g.gisenv/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/general/g.gisenv/main.c b/general/g.gisenv/main.c index 73dd9be6719..e2b2e448fa1 100644 --- a/general/g.gisenv/main.c +++ b/general/g.gisenv/main.c @@ -224,6 +224,7 @@ char *parse_variable(const char *v_name, char **value) G_verbose_message(_("GRASS variable must be uppercase. Using '%s'."), u_name); } + G_free(name); return u_name; } From b25c727d024aab433f0838d577b7c6ac9698f813 Mon Sep 17 00:00:00 2001 From: Shubham Vasudeo Desai Date: Sat, 18 Jan 2025 19:36:24 -0500 Subject: [PATCH 2/5] Fix Resource Leak issue --- general/g.gisenv/main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/general/g.gisenv/main.c b/general/g.gisenv/main.c index e2b2e448fa1..a5c46f0de66 100644 --- a/general/g.gisenv/main.c +++ b/general/g.gisenv/main.c @@ -23,6 +23,7 @@ #include #include +#include static char *parse_variable(const char *, char **); @@ -224,6 +225,7 @@ char *parse_variable(const char *v_name, char **value) G_verbose_message(_("GRASS variable must be uppercase. Using '%s'."), u_name); } + Vect_delete(name); G_free(name); return u_name; From 934d2a2498a8b78dcebef34822fa703e2e5b1fa8 Mon Sep 17 00:00:00 2001 From: Shubham Vasudeo Desai Date: Sat, 18 Jan 2025 19:51:05 -0500 Subject: [PATCH 3/5] Fix Resource Leak issue --- general/g.gisenv/main.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/general/g.gisenv/main.c b/general/g.gisenv/main.c index a5c46f0de66..e2b2e448fa1 100644 --- a/general/g.gisenv/main.c +++ b/general/g.gisenv/main.c @@ -23,7 +23,6 @@ #include #include -#include static char *parse_variable(const char *, char **); @@ -225,7 +224,6 @@ char *parse_variable(const char *v_name, char **value) G_verbose_message(_("GRASS variable must be uppercase. Using '%s'."), u_name); } - Vect_delete(name); G_free(name); return u_name; From 4023e50ce0d00af782a585ce628a101b1ed92bb4 Mon Sep 17 00:00:00 2001 From: Shubham Vasudeo Desai Date: Sat, 18 Jan 2025 21:02:08 -0500 Subject: [PATCH 4/5] Fix Resource Leak issue --- general/g.gisenv/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/general/g.gisenv/main.c b/general/g.gisenv/main.c index e2b2e448fa1..231880a5a25 100644 --- a/general/g.gisenv/main.c +++ b/general/g.gisenv/main.c @@ -198,6 +198,7 @@ char *parse_variable(const char *v_name, char **value) { char *u_name; /* uppercase variable name */ char *name, *ptr; + name = NULL; name = G_store(v_name); if (value) From 0bb86c40476870573aa555092dea1277eebd12f9 Mon Sep 17 00:00:00 2001 From: Shubham Vasudeo Desai Date: Tue, 21 Jan 2025 15:45:42 -0500 Subject: [PATCH 5/5] Update --- general/g.gisenv/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/general/g.gisenv/main.c b/general/g.gisenv/main.c index 231880a5a25..e30b2772983 100644 --- a/general/g.gisenv/main.c +++ b/general/g.gisenv/main.c @@ -208,12 +208,14 @@ char *parse_variable(const char *v_name, char **value) if (ptr != NULL) { *ptr = '\0'; if (value) - *value = ptr + 1; + *value = G_store(ptr + 1); } /* Allow unset without '=' sign */ if (value) { - if (*value != NULL && **value == '\0') + if (*value != NULL && **value == '\0') { + G_free(*value); *value = NULL; + } } if (strlen(name) < 1) G_fatal_error(_("GRASS variable not defined"));