From nobody Sun Oct 25 17:34:31 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4jCP5M22gVz6wpxs for ; Sun, 25 Oct 2026 17:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jCP5M1B1Cz3FnX for ; Sun, 25 Oct 2026 17:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792949671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dWshmUyw/LfSPKX427DzWD/eyHdBm71d4kp3VtEfdWg=; b=m37oP0ScI2DjrjltS46b0+dGYtff2sw1rxPwUq5AYzuAAFaLuxHDKBLVpK0huxqQRS/0W7 YKyGcpljP5Qk60NJosijIyH5CP1jIVAby5VoLIrY29B2h/3b3HUJc+JswAZI0qS50jd2E+ m8zxOXkH9zgeZxdoJCqzgoec18g+rh+/1oJ3gyz81HVgKaF5sm99jrJgNE+iKhHOSwH5Ls lfjXqI6S0qlF6OHPDFycci+9zooKLNqTHY/HSTefDTozTFqVM6jXj7k8HaNrGXDWk9Jdb+ WwRzwjQWtHKYRWf9/cYFwE0eF6kVQRq0iZwSPa/6X+US6iQ1lhKGXe9y2LPfyA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1792949671; b=p7vjBmTIEfuop3wkcXaLBYSkybls0NgCFF/eWR280+7P76gNxr+dRTZRDSQHUH/2CpcMgC CMLhOjizhTUs0MFmGlK3wqatVGapSZZ8Vczulgxm7damwfjnTuCrYhcfQM+st+rtC/xifA rh5eElkuGrWuK3E6JWGHesegkwN/FZswQZh9NbmnZHuoYuI/DB25nOLl+E6Dk/yZ1qqpDs bR0eSxOPdjjfP5Dr/xRlLdCI5F5rkdWyDcNX3eXNZwYrnNAs4ZWHyKmsw6ZXVrOc1/jie8 cYxRVVSAI0opf15/USf2cnoSv+KTQeRzkFyLCGdRFmDPYJWcjznYqvMVHkN4kA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792949671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dWshmUyw/LfSPKX427DzWD/eyHdBm71d4kp3VtEfdWg=; b=QirJc4/dSU/+JQ+Xr9oHKAv7BUqxnSO4qLjvWiZXPBbdo5PHVZTXIrJivBRHDaTXgwi0Cl /fmqVa2lnxmXcMPaO3zQsRvih6SkMrt7Uj3fuPqr5epWs0ECyJUPYMuL61fQ5YadL2sVGr 6T6Hd/3v1JIKXJYBhhFOqj0g989xdFTNc/EPbwWBCkf4SMn8V0PQBgA6DSF3GsktoySYsc aSO4Vab/ankSPyL0v0n8mdoxeVPQQpeNnJSTQyrVopY4fT/DtLkAhDq70FIKxaw7XqObiE /6nXv//tzxnYdxCKaksqMtlY62Bx7GJvz3jPFRoickjspxRu10fhMjFJ73JEmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4jCP5M0sDZzx1N for ; Sun, 25 Oct 2026 17:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20327 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 25 Oct 2026 17:34:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 91d8163803b4 - main - rtld: fix leak in get_program_var_addr() on the error path List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: Commit messages for the main branch of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91d8163803b4fa25e51afe1209d0f5c30c603b93 Auto-Submitted: auto-generated Date: Sun, 25 Oct 2026 17:34:31 +0000 Message-Id: <6ade3da7.20327.6e3a017c@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=91d8163803b4fa25e51afe1209d0f5c30c603b93 commit 91d8163803b4fa25e51afe1209d0f5c30c603b93 Author: Konstantin Belousov AuthorDate: 2026-10-25 15:28:14 +0000 Commit: Konstantin Belousov CommitDate: 2026-10-25 17:33:46 +0000 rtld: fix leak in get_program_var_addr() on the error path Fixes: 1e370f038778 ("rtld: stop using unbound alloca()") Sponsored by: The FreeBSD Foundation MFC after: 1 week --- libexec/rtld-elf/rtld.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index b637a3032218..0ff7d1bb5227 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -4775,8 +4775,9 @@ get_program_var_addr(const char *name, RtldLockState *lockstate) symlook_init(&req, name); req.lockstate = lockstate; donelist_init(&donelist, NULL); + res = NULL; if (symlook_global(&req, &donelist) != 0) - return (NULL); + goto out; if (ELF_ST_TYPE(req.sym_out->st_info) == STT_FUNC) res = (const void **)make_function_pointer(req.sym_out, req.defobj_out); @@ -4786,6 +4787,7 @@ get_program_var_addr(const char *name, RtldLockState *lockstate) else res = (const void **)(req.defobj_out->relocbase + req.sym_out->st_value); +out: donelist_free(&donelist); return (res); }