getaddrinfo: Return correct error EAI_MEMORY when out-of-memory (RHEL-19445)

Resolves: RHEL-19445
This commit is contained in:
Arjun Shankar 2024-01-10 15:30:44 +01:00
parent c3ca668da6
commit d1cf4608a0
2 changed files with 36 additions and 1 deletions

31
glibc-RHEL-19445.patch Normal file
View File

@ -0,0 +1,31 @@
Based on the following commit, adjusted for glibc-2.28 in RHEL-8:
commit 5eabdb6a6ac1599d23dd5966a37417215950245f
Author: Andreas Schwab <schwab@suse.de>
Date: Wed Dec 6 14:48:22 2023 +0100
getaddrinfo: translate ENOMEM to EAI_MEMORY (bug 31163)
When __resolv_context_get returns NULL due to out of memory, translate it
to a return value of EAI_MEMORY.
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 46046504a6858f2e..d0708f3e84e20025 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -777,7 +777,14 @@ gaih_inet (const char *name, const struct gaih_service *service,
res_ctx = __resolv_context_get ();
res_enable_inet6 = __resolv_context_disable_inet6 (res_ctx);
if (res_ctx == NULL)
- no_more = 1;
+ {
+ if (errno == ENOMEM)
+ {
+ result = -EAI_MEMORY;
+ goto free_and_return;
+ }
+ no_more = 1;
+ }
while (!no_more)
{

View File

@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.28
%define glibcversion 2.28
%define glibcrelease 249%{?dist}
%define glibcrelease 250%{?dist}
# Pre-release tarballs are pulled in from git using a command that is
# effectively:
#
@ -1181,6 +1181,7 @@ Patch993: glibc-RHEL-19824.patch
Patch994: glibc-RHEL-3010-1.patch
Patch995: glibc-RHEL-3010-2.patch
Patch996: glibc-RHEL-3010-3.patch
Patch997: glibc-RHEL-19445.patch
##############################################################################
# Continued list of core "glibc" package information:
@ -3012,6 +3013,9 @@ fi
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog
* Wed Jan 10 2024 Arjun Shankar <arjun@redhat.com> - 2.28-250
- getaddrinfo: Return correct error EAI_MEMORY when out-of-memory (RHEL-19445)
* Wed Jan 3 2024 Florian Weimer <fweimer@redhat.com> - 2.28-249
- Updates for AMD cache size computation (RHEL-3010)