From fc4ccb03d5698f78547e5e366ffbb50caa216cab Mon Sep 17 00:00:00 2001
From: rockyautomation <rockyautomation@rockylinux.org>
Date: Wed, 17 Jan 2024 16:28:27 +0000
Subject: [PATCH] import glibc-2.28-250.el8

---
 SOURCES/glibc-RHEL-19445.patch | 31 +++++++++++++++++++++++++++++++
 SPECS/glibc.spec               |  6 +++++-
 2 files changed, 36 insertions(+), 1 deletion(-)
 create mode 100644 SOURCES/glibc-RHEL-19445.patch

diff --git a/SOURCES/glibc-RHEL-19445.patch b/SOURCES/glibc-RHEL-19445.patch
new file mode 100644
index 0000000..b3769d3
--- /dev/null
+++ b/SOURCES/glibc-RHEL-19445.patch
@@ -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)
+ 	    {
diff --git a/SPECS/glibc.spec b/SPECS/glibc.spec
index 4ade2f3..c5be956 100644
--- a/SPECS/glibc.spec
+++ b/SPECS/glibc.spec
@@ -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)
 
-- 
GitLab