intl: Do not return NULL on asprintf failure in gettext [BZ #24018]

Fixes commit 9695dd0c93 ("DCIGETTEXT:
Use getcwd, asprintf to construct absolute pathname").

(cherry picked from commit 8c1aafc1f3)
This commit is contained in:
Florian Weimer 2019-01-02 16:46:12 +01:00
parent 8f83d095fa
commit bee4baf6d7
3 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2019-01-02 Florian Weimer <fweimer@redhat.com>
[BZ #24018]
* intl/dcigettext.c (DCIGETTEXT): Do not return NULL on asprintf
failure.
2018-12-31 Florian Weimer <fw@deneb.enyo.de> 2018-12-31 Florian Weimer <fw@deneb.enyo.de>
[BZ #24027] [BZ #24027]

1
NEWS
View File

@ -28,6 +28,7 @@ The following bugs are resolved with this release:
[23822] ia64 static libm.a is missing exp2f, log2f and powf symbols [23822] ia64 static libm.a is missing exp2f, log2f and powf symbols
[23927] Linux if_nametoindex() does not close descriptor (CVE-2018-19591) [23927] Linux if_nametoindex() does not close descriptor (CVE-2018-19591)
[23972] __old_getdents64 uses wrong d_off value on overflow [23972] __old_getdents64 uses wrong d_off value on overflow
[24018] gettext may return NULL
[24027] malloc: Integer overflow in realloc [24027] malloc: Integer overflow in realloc
Security related changes: Security related changes:

View File

@ -631,7 +631,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
int ret = __asprintf (&xdirname, "%s/%s", cwd, dirname); int ret = __asprintf (&xdirname, "%s/%s", cwd, dirname);
free (cwd); free (cwd);
if (ret < 0) if (ret < 0)
return NULL; goto return_untranslated;
dirname = xdirname; dirname = xdirname;
} }
#ifndef IN_LIBGLOCALE #ifndef IN_LIBGLOCALE