From nobody Tue Oct 20 22:07:01 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 4j8RN568lVz6wTGw for ; Tue, 20 Oct 2026 22:07:01 +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 4j8RN53V8Jz4NTc for ; Tue, 20 Oct 2026 22:07:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792534021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AbCh3dfAClGaP0z3b8UpsxAM3+s1ihRdeeyUfSbDkpU=; b=CD/3LKr+NNZNhO3Gu1svG2GHXGFYdnDgiVfniqJ6+d7zjmLZJ70+2sY6LIRiV+QH5T3LEQ kNCn2xt6cl5zZkJTxa3kQCBnidM60aCylfvou3LEbHDvD96uAVOFW5ICIKbibcsNoNZZu1 7JRC7G5XGD0+yvX3nZ9AavQ0KkS/1Gm67xqP0csmJEVJnn6zT/yGsidocjqd+f7KUd1DAF m+9YIYGfS+ItWA3qSkvc/berxBgTgOlVoGtQCk+SbgG8HD2XkqxZ4KSivnb2rT86YpdtkP kbU/z3AznFM1FbSjWYzLjpDrfHQQkHXQeyrixA5Ru7E20dV8efGAu0w8myI9sg== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1792534021; b=q/rJ8TtmvQLFcgGXaPa+HL+axQfsH7Wgla/yF77Ck30NbMKXRkxNqMSV2EBTDsWEC7+3AE NAwAqwGxA5uwC9HONfmlouzqzy/Zv4o6RAMVwIrhDWv21pUe3a6DnblF25VtPFu/gIOG5C 5kJrpfhSqj+cjV9wL04VUdAIEKkkgYLFLKeN7yFXm7gGplSxfSGD2KvwWrYWaQgMIxkjo5 g/HoaQTButY5yw8jy6/U/gLJkoiUoHf4o2MasMeQRCBdWNIIx50cVDO/7BRrgIZJZFfbl7 aaQWSLJ2Y7u/BcWCSRL/03UPzVH4SrUwNtXIKjZFziz6lX9Z9axefhiVWjSsmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1792534021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AbCh3dfAClGaP0z3b8UpsxAM3+s1ihRdeeyUfSbDkpU=; b=J7Y5km/x4uE5qqMl7EYQnO42BVAKf0hWrP1wqkQsvnB74PBA/GrGZOmQx+/RuoSB/kOI/9 8K95Ii35mzUjirkyIV6KboghhpwCNZBAQSb71GxSILnfzu9MAiop9jrjqw6VESm1yg6XAT fcwf3EKm0qRNgtoA7rycBmBV18Uz5PZ9gMNUb4FvDAnT6QGdkx00+pSuPmHjaGFxlxpJ7V mW/oZ1TGA0OOnmtBExIb5filS02a6CrbsmdYvM0ei8qOslxUWhtoJnkmN0xJO4tB734ALg aOTI3k1xAJpVhOe14hJEW+SE20IwstoXuf2jYiJylFLuvxsslB2ff3MiZbfXgg== 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 4j8RN538hHzQVD for ; Tue, 20 Oct 2026 22:07:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24260 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 20 Oct 2026 22:07:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Osvaldo Janeri Filho From: Mark Johnston Subject: git: 06abe08de45d - main - pam_exec: fix the stderr close test and avoid a double close 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06abe08de45d251410949eac1bbb025367275260 Auto-Submitted: auto-generated Date: Tue, 20 Oct 2026 22:07:01 +0000 Message-Id: <6ad7e605.24260.73394756@gitrepo.freebsd.org> The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=06abe08de45d251410949eac1bbb025367275260 commit 06abe08de45d251410949eac1bbb025367275260 Author: Osvaldo Janeri Filho AuthorDate: 2026-10-20 22:04:17 +0000 Commit: Mark Johnston CommitDate: 2026-10-20 22:05:31 +0000 pam_exec: fix the stderr close test and avoid a double close The cleanup tested cherr[0] when closing cherr[1]. The parent also closed chin[0]/chout[1]/cherr[1] after pdfork() without clearing them, so the out: cleanup path closed them again. Clear each fd after closing and test the right one. Reviewed by: des, markj MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D60924 --- lib/libpam/modules/pam_exec/pam_exec.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/libpam/modules/pam_exec/pam_exec.c b/lib/libpam/modules/pam_exec/pam_exec.c index 800a791f04a1..4151163b7670 100644 --- a/lib/libpam/modules/pam_exec/pam_exec.c +++ b/lib/libpam/modules/pam_exec/pam_exec.c @@ -335,12 +335,18 @@ _pam_exec(pam_handle_t *pamh, OUT(PAM_SYSTEM_ERR); } /* use poll() to watch the process and stdin / stdout / stderr */ - if (chin[0] >= 0) + if (chin[0] >= 0) { close(chin[0]); - if (chout[1] >= 0) + chin[0] = -1; + } + if (chout[1] >= 0) { close(chout[1]); - if (cherr[1] >= 0) + chout[1] = -1; + } + if (cherr[1] >= 0) { close(cherr[1]); + cherr[1] = -1; + } memset(pfd, 0, sizeof pfd); pfd[0].fd = pd; pfd[0].events = POLLHUP; @@ -451,7 +457,7 @@ out: close(chout[1]); if (cherr[0] >= 0) close(cherr[0]); - if (cherr[0] >= 0) + if (cherr[1] >= 0) close(cherr[1]); if (envlist != NULL) openpam_free_envlist(envlist);