From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2178) id E3DA13858D32; Tue, 2 Jan 2024 13:55:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E3DA13858D32 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1704203754; bh=KGkHP+QtK/RTnZsNHQ0NE11ORJ2sVh9c7+vG5wTWqaY=; h=From:To:Subject:Date:From; b=ikAXyaO+kXG0gbeD0YIGrNTX/1lU6WSZeRbvpH+kS3uSGHIOgICt7v1ZmhzaQC4sp NrB6z1bF8SH7qrAKAxMv6vrK7rcy0k7GPp6a6mb74mPTbiEKGf0XYFfXAWw//W6cKd x0jsz07GmhK9XUR3j7N6sjMwSxmYnShvnlOjLRg8= 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.37/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.37/master X-Git-Oldrev: 0ca9ba3a9e73f3118dafce83e0f0ebba2e247313 X-Git-Newrev: 9b90e763dbee9899c5521481db6d4e92772ef526 Message-Id: <20240102135554.E3DA13858D32@sourceware.org> Date: Tue, 2 Jan 2024 13:55:54 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9b90e763dbee9899c5521481db6d4e92772ef526 commit 9b90e763dbee9899c5521481db6d4e92772ef526 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 69f38bbfb9..8607486798 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) {