diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-08-03 15:50:30 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-08-03 15:50:30 +0000 |
commit | ce31a3b1c588f8b8a5c7702c6460d6bd4386bd95 (patch) | |
tree | 3b8f897b1e40b26d31f18e8095cfd9102612de71 /intl | |
parent | 96c502084aeb396c8794723b32bdcad58a634695 (diff) | |
download | glibc-ce31a3b1c588f8b8a5c7702c6460d6bd4386bd95.tar.gz glibc-ce31a3b1c588f8b8a5c7702c6460d6bd4386bd95.tar.xz glibc-ce31a3b1c588f8b8a5c7702c6460d6bd4386bd95.zip |
* 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 <jakub@redhat.com>
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); |