From nobody Sat Sep 05 15:44:44 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 4hcd1m3n2lz6qjXV for ; Sat, 05 Sep 2026 15:44:44 +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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hcd1m33clz4CXC for ; Sat, 05 Sep 2026 15:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788623084; 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=aEyqqrqNcA3cT+HlY0bqfTr9RuJmZx4r51TdxTRdALk=; b=vS/nd77KEQdZKetXI8SvELmxltPzc0LRRnbyZ3CllWzFC7EFU9hQR9nG6sxnoBNJTYOSSJ W4JdZKJigTNBp8eXyvTkkoazUr5A+Uyd3AW3ozgJhl3jL311UXBzbWOlVJVnqNZddpF8wQ EKP+UPwKfQ2SoHDOH/jBxqKHFl1440kZK3Xbi13RccdgQJM6ov5D45UIesf3g+EOMHGY5+ 4chmq7VdFLtwHH0V/ZeOjkAwQXOCjJWSnBvx7Z+MVujhsfqicUslCxv26PJbYmgfTtaffE PD+x337+RE34+RTLZfdEzUAZHWdjf9K1OjSnCmd+KiLnhSRBP0aJjvhtHTUJFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1788623084; a=rsa-sha256; cv=none; b=CtbNEvFeUsEnh8ORN/RdqzJHPZzad9rTfN4CrzMK3ySeZg0YcFAWVup458TR7Hy8/0wfvq G+9lXY9sf0dkEEsBVXnN8uiZ3hdMblTbcc7DvK6ZnfcO7sgNDQ0YCNBCGTa8ItYo7C547G E4dSeBzKRR1V9ybotb57VTkKGSVzBbBhfBtVQFGqlMWtYaDk69gqWiabYRYqhsd2tsoy0/ Xzs16GXH3/5LSxsXYDMDnVeApl4CPyu8XVYX45NOS298w2YkmwVVjYYpNTsQbzGP6qqQl2 FKhM0nb4lkQVMdJXJ4y3pRjJI7HzK62R2gJAgQ0vLHRG7+fcg0km2UBf5ztCmQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788623084; 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=aEyqqrqNcA3cT+HlY0bqfTr9RuJmZx4r51TdxTRdALk=; b=jPzKGIYjTnK9X+4En8OrD/Y0+25138c+JaHXJ5aTFd1NnL99A+qAohNKdqNOGPjRASrA7g 5QEud1pdUVR+9x1wg9V8e972I9xUWj2kzWutMrvbRObPk3BystPHW6vyrWsW1xvqVtn2FR P05p7FxzlirzgrSVY7UfkTB+KXXHY0deumNrkx736TShQTThVwyVwI52Q77ok8asyqPSUP Ka0F4dUsP58DNNMlX2o6qrIGeeg/yCU0JZ5uNZGsP8SkpZZWLmqrDHFgGSninWv0X4CEd/ RyhprXGEuK2FVW1Ym1OWUFnZf0/qDe85KfzM/Sp9X4hgpWHKbF013lropvnsiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hcd1m1wDDzrmY for ; Sat, 05 Sep 2026 15:44:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4014d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 05 Sep 2026 15:44:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 911bda7cffbf - main - hastd: Ensure nvpair padding is initialized List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: 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: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 911bda7cffbf358c4e83ea05cfe980d429aff61c Auto-Submitted: auto-generated Date: Sat, 05 Sep 2026 15:44:44 +0000 Message-Id: <6a9c38ec.4014d.74d3a11@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=911bda7cffbf358c4e83ea05cfe980d429aff61c commit 911bda7cffbf358c4e83ea05cfe980d429aff61c Author: Dag-Erling Smørgrav AuthorDate: 2026-09-05 15:44:05 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-09-05 15:44:34 +0000 hastd: Ensure nvpair padding is initialized The proto-libnv implementation embedded in hastd pads names and values out to the nearest multiple of eight bytes, but leaves the padding uninitialized, leaking up to 14 bytes of recycled heap per pair in a message. While here, switch from bcopy() to memcpy(). MFC after: 3 days Reviewed by: kevans, emaste Differential Revision: https://reviews.freebsd.org/D59343 --- sbin/hastd/nv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sbin/hastd/nv.c b/sbin/hastd/nv.c index 16ab95cf0dc6..87d59c6929b9 100644 --- a/sbin/hastd/nv.c +++ b/sbin/hastd/nv.c @@ -500,7 +500,7 @@ nv_get_##type(struct nv *nv, const char *namefmt, ...) \ return (0); \ PJDLOG_ASSERT((nvh->nvh_type & NV_ORDER_MASK) == NV_ORDER_HOST);\ PJDLOG_ASSERT(sizeof(value) == nvh->nvh_dsize); \ - bcopy(NVH_DATA(nvh), &value, sizeof(value)); \ + memcpy(&value, NVH_DATA(nvh), sizeof(value)); \ \ return (value); \ } @@ -767,7 +767,7 @@ nv_add(struct nv *nv, const unsigned char *value, size_t vsize, int type, namesize = strlen(name) + 1; - nvh = malloc(sizeof(*nvh) + roundup2(namesize, 8)); + nvh = calloc(1, sizeof(*nvh) + roundup2(namesize, 8)); if (nvh == NULL) { if (nv->nv_error == 0) nv->nv_error = ENOMEM; @@ -776,7 +776,7 @@ nv_add(struct nv *nv, const unsigned char *value, size_t vsize, int type, nvh->nvh_type = NV_ORDER_HOST | type; nvh->nvh_namesize = (uint8_t)namesize; nvh->nvh_dsize = (uint32_t)vsize; - bcopy(name, nvh->nvh_name, namesize); + memcpy(nvh->nvh_name, name, namesize); /* Add header first. */ if (ebuf_add_tail(nv->nv_ebuf, nvh, NVH_HSIZE(nvh)) == -1) {