From ce31a3b1c588f8b8a5c7702c6460d6bd4386bd95 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 3 Aug 2007 15:50:30 +0000 Subject: * intl/dcigettext.c (_nl_find_msg): Free encoding if __gconv_open failed. * intl/finddomain.c (_nl_find_domain): Free normalized_codeset on failure. * elf/dl-load.c (decompose_rpath): Free copy if result couldn't be allocated. 2007-08-03 Jakub Jelinek --- intl/dcigettext.c | 5 ++++- intl/finddomain.c | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'intl') 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); -- cgit 1.4.1