diff options
Diffstat (limited to 'intl')
-rw-r--r-- | intl/dcigettext.c | 5 | ||||
-rw-r--r-- | intl/finddomain.c | 3 |
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); |