]> git.ipfire.org Git - thirdparty/git.git/blobdiff - gettext.c
git_setup_gettext: plug memory leak
[thirdparty/git.git] / gettext.c
index 3eb20c5f958930aec2a399c1688545e0996a927f..4f59dfa3d14e2d84ad3def9f9670dcc1c42d2db6 100644 (file)
--- 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 */