From nobody Sat Oct 31 03:18:54 2026 X-Original-To: dev-commits-src-all@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 4jGjqL5sGqz6xqbF for ; Sat, 31 Oct 2026 03:18:54 +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 4jGjqL3KJ3z573d for ; Sat, 31 Oct 2026 03:18:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793416734; 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=nymKFt0GjgEYRaKg8TB0H60FV/zR7ii+YabFe046Nb0=; b=b5OV7CGnBvGYXA7PLKTciSIDm22KJfvzI4qJxu4iK9+U4pQu0GuTU9hEcjy7bawjva9kLh T9mnfW1bgmf93roKOWiq6FrLE3EfR2dNUB+haNsnUXiajr7klNEtPar0vqwTRjtZb5n3PN J1N9ReZtOAX5e5zFcwropBJ2NUq8s4CU2stxvo1RH5aMtk1bzKSjyzsPPLlQqvnosE21XE fXxEcDogK5taK3egTvuF9Z9w9Ds1ND+d461ffBcfPzPWjPy24i8M1QrvaQ8zfQ50Nv180N GfK1q7Hh5vRnla/WGGaFVK7vlYMs6col8kQGZoRoVQebnRY3Z7+QZTTJD6moKA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793416734; b=s2mVRsA7J1qQn5QC6hp9Ck4WrNkG9T2dLXuJQv2ihdHj4h69pcS7dCZzqhGMT09p7Zri+b lYefACeQVAcJTWVduBQcM9KoAcWTh+jOb38rqVKCUrjviGDw2Loj/dc9FJZa+jeX33x1D0 bpwbi6XkJ+3AdQ2XSeDtSqxZIGsR+KTbQ2hAZdQZ+K8PCq9Ir3hISMfvOb+qOGx58CIwAe odnlg34CqLJDLczd0CdvuiirZY9ShIG7D4g2/MF2YOHxE1hcrZ64TLlxVk6k6DY8wXY2xt 9sgO37JQR1ex4B8VqtoXlIvM1tBhzfgjPuJxDJQZSpF4Akk9ei7jIwJgwaH5ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793416734; 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=nymKFt0GjgEYRaKg8TB0H60FV/zR7ii+YabFe046Nb0=; b=C1TEiaTtPCdcrvpSZLiZHEUvUDv+3SqieXdbeygrr2hPxHba4vXJMpGt0wKs74FPw0s03U 2uFEs/ocg8Gc4l8BsHXO6J2ChoaKeecCIfuuzjZdxlU6vAKsEXT9gHbt08lMNx66DUZVud 8LlwfbI0Qeq1JC19414JbQJK8jyB5D9NhdoWET3r80vSbzLAXhUTxDgT2pOKBrmxrrnUK6 mTpFUxAxOs6JiO/WYUeUYmc2KJImvSsCqPkatIxsWmJxdwQqUqI16Z0I9UDQiMFBslQiYs cutdbthqaqkGSdEg+mrMlE0jGvxYNp/XVulFlfjaQDrn064KIknA/cZsPTFEjQ== 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 4jGjqL1mptzx1V for ; Sat, 31 Oct 2026 03:18:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36b70 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 31 Oct 2026 03:18:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 8e231b6ae016 - stable/15 - rtld: fix leak in get_program_var_addr() on the error path List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 8e231b6ae0168f91a072402d02df39f4a0daf70d Auto-Submitted: auto-generated Date: Sat, 31 Oct 2026 03:18:54 +0000 Message-Id: <6ae55e1e.36b70.494b2630@gitrepo.freebsd.org> The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8e231b6ae0168f91a072402d02df39f4a0daf70d commit 8e231b6ae0168f91a072402d02df39f4a0daf70d Author: Konstantin Belousov AuthorDate: 2026-10-25 15:28:14 +0000 Commit: Konstantin Belousov CommitDate: 2026-10-31 03:15:22 +0000 rtld: fix leak in get_program_var_addr() on the error path (cherry picked from commit 91d8163803b4fa25e51afe1209d0f5c30c603b93) --- 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 b04f0bab8f3a..2ceb27613873 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); }