summaryrefslogtreecommitdiff
path: root/intl
diff options
context:
space:
mode:
Diffstat (limited to 'intl')
-rw-r--r--intl/dcigettext.c5
-rw-r--r--intl/finddomain.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index 23e019ab32..ad2835f930 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -949,7 +949,10 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp)
nothing to do. Otherwise do not use the
translation at all. */
if (__builtin_expect (r != __GCONV_NULCONV, 1))
- return NULL;
+ {
+ free ((char *) encoding);
+ return NULL;
+ }
convd->conv = (__gconv_t) -1;
}
diff --git a/intl/finddomain.c b/intl/finddomain.c
index 54e617ca99..03583b12b7 100644
--- a/intl/finddomain.c
+++ b/intl/finddomain.c
@@ -143,7 +143,7 @@ _nl_find_domain (dirname, locale, domainname, domainbinding)
if (retval == NULL)
/* This means we are out of core. */
- return NULL;
+ goto out;
if (retval->decided <= 0)
_nl_load_domain (retval, domainbinding);
@@ -159,6 +159,7 @@ _nl_find_domain (dirname, locale, domainname, domainbinding)
}
}
+out:
/* The space for normalized_codeset is dynamically allocated. Free it. */
if (mask & XPG_NORM_CODESET)
free ((void *) normalized_codeset);