git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/3] git_setup_gettext: plug memory leak

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Apr 20, 2018, 08:03 UTC
Message-ID
<c9502718c0ea1801a1123f976f4f8ca5332372fb.1524211375.git.johannes.schindelin@gmx.de>
In-Reply-To
<cover.1524211375.git.johannes.schindelin@gmx.de>

The system_path() function returns a freshly-allocated string. We need to release it.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 gettext.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/gettext.c b/gettext.c
index 701355d66e7..7272771c8e4 100644
--- a/gettext.c
+++ b/gettext.c
@@ -159,18 +159,23 @@ static void init_gettext_charset(const char *domain)
 void git_setup_gettext(void)
 {
 	const char *podir = getenv(GIT_TEXT_DOMAIN_DIR_ENVIRONMENT);
+	char *p = NULL;
 
 	if (!podir)
-		podir = system_path(GIT_LOCALE_PATH);
+		podir = p = system_path(GIT_LOCALE_PATH);
 
-	if (!is_directory(podir))
+	if (!is_directory(podir)) {
+		free(p);
 		return;
+	}
 
 	bindtextdomain("git", podir);
 	setlocale(LC_MESSAGES, "");
 	setlocale(LC_TIME, "");
 	init_gettext_charset("git");
 	textdomain("git");
+
+	free(p);
 }
 
 /* return the number of columns of string 's' in current locale */
-- 
2.17.0.windows.1.15.gaa56ade3205
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 9 of 21 in “Some add-on patches on top of dj/runtime-prefix”
  1. 0/3 Some add-on patches on top of dj/runtime-prefixJohannes Schindelin, Apr 20, 2018
  2. 1/3 gettext: avoid initialization if the locale dir is not presentJohannes Schindelin, Apr 20, 2018
  3. Ævar Arnfjörð BjarmasonApr 20, 2018
  4. Martin ÅgrenApr 20, 2018
  5. Ævar Arnfjörð BjarmasonApr 20, 2018
  6. Johannes SchindelinApr 20, 2018
  7. Ævar Arnfjörð BjarmasonApr 21, 2018
  8. Johannes SchindelinApr 21, 2018
  9. 2/3 git_setup_gettext: plug memory leakJohannes Schindelin, Apr 20, 2018
  10. 3/3 Avoid multiple PREFIX definitionsJohannes Schindelin, Apr 20, 2018
  11. Philip OakleyApr 22, 2018
  12. 0/3 Some add-on patches on top of dj/runtime-prefixJohannes Schindelin, Apr 21, 2018
  13. 1/3 gettext: avoid initialization if the locale dir is not presentJohannes Schindelin, Apr 21, 2018
  14. 2/3 git_setup_gettext: plug memory leakJohannes Schindelin, Apr 21, 2018
  15. 3/3 Avoid multiple PREFIX definitionsJohannes Schindelin, Apr 21, 2018
  16. Junio C HamanoApr 24, 2018
  17. Junio C HamanoApr 24, 2018
  18. Junio C HamanoApr 24, 2018
  19. Johannes SchindelinApr 24, 2018
  20. Junio C HamanoApr 25, 2018
  21. Johannes SchindelinApr 25, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.