From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2178) id C74DB3858C41; Tue, 2 Jan 2024 13:56:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C74DB3858C41 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1704203769; bh=MGeJxQzEnlh/3tm/3hX0T/actMn0APvNCTFL1iwmrn4=; h=From:To:Subject:Date:From; b=a470S/lmk9n9QOPoTPlriQJuJBA7QRdaTChZ0Jy2+x6mVlJwtiAXUFAQHA98jbU8F WYeH7y6FY2EBFmeU/CA8yWwrfHivSzganOPookTiS7kH34VBX+d60EtfbOqAL5mRqf WJxaAzDe+1qdrY5B81GT4tljyGc+CMP8PwDBoqgQ= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Florian Weimer To: glibc-cvs@sourceware.org Subject: [glibc/release/2.38/master] getaddrinfo: translate ENOMEM to EAI_MEMORY (bug 31163) X-Act-Checkin: glibc X-Git-Author: Andreas Schwab X-Git-Refname: refs/heads/release/2.38/master X-Git-Oldrev: 27339a3eb8f987eebae72b854af80256c1588ebd X-Git-Newrev: ae1e5217021e43e1f2de443d26e87ea3adfb221c Message-Id: <20240102135609.C74DB3858C41@sourceware.org> Date: Tue, 2 Jan 2024 13:56:09 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=ae1e5217021e43e1f2de443d26e87ea3adfb221c commit ae1e5217021e43e1f2de443d26e87ea3adfb221c Author: Andreas Schwab 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. (cherry picked from commit 5eabdb6a6ac1599d23dd5966a37417215950245f) Diff: --- sysdeps/posix/getaddrinfo.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 13082305d3..da573bea24 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -616,7 +616,14 @@ get_nss_addresses (const char *name, const struct addrinfo *req, function variant. */ res_ctx = __resolv_context_get (); if (res_ctx == NULL) - no_more = 1; + { + if (errno == ENOMEM) + { + result = -EAI_MEMORY; + goto out; + } + no_more = 1; + } while (!no_more) {