diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2018-04-21 13:14:28 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-04-24 11:12:32 +0900 |
commit | 0210231b0803f881bf765bb2d7284c119c6ce9b6 (patch) | |
tree | 27ab762dcb97879f01db6cad5964af5b83b72871 /gettext.c | |
parent | gettext: avoid initialization if the locale dir is not present (diff) | |
download | tgif-0210231b0803f881bf765bb2d7284c119c6ce9b6.tar.xz |
git_setup_gettext: plug memory leak
The system_path() function returns a freshly-allocated string. We need
to release it.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'gettext.c')
-rw-r--r-- | gettext.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -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 */ |