From nobody Mon Dec 29 13:21:53 2025 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 4dfxhQ7361z6MHZv for ; Mon, 29 Dec 2025 13:21:58 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dfxhQ680cz3k07 for ; Mon, 29 Dec 2025 13:21:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767014518; 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=KGNS60NiWArqIv+MHvSkh21wXC1Rt0uVDgWGZUCfKxE=; b=QItjMAdxiEZyxfUT4pp8Tl+dHMvvRBweKzLmQv3yez7gSoDHv8Ai904brgodNg8Tsvt4sj 1RU30R9VjFrLPmusxH+kNtWxG63xDwYKy0Yb6ulJtBqA6qkpGTUV7KmPBwpwFF42V6zx/N oHtACSV9wKd36qbAkT7MFtt+HShLiisBu+4bVUGedkP3cdRZDmbwjaS8sQEN3CbeP0N/+G g8+PvDoGl1vfxrHXdWq/uY5KG3N2YieW8R7dM81fK5GhoeFLa8k5g6ap7ezRVefUIndB3+ 8iaCTM+uZVsxwxGj0kYZi7m2XdCAUgWftSPgeinrOzmcNkXU1DEbzv40OHqf+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767014518; 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=KGNS60NiWArqIv+MHvSkh21wXC1Rt0uVDgWGZUCfKxE=; b=NGppHs5AoSDBg9QuweQ0H2O02Dy4T4mhH810SS2b/HZIUcarRhosdBvPS+NtRZAGPgwA9j oTlr/8aNWHjM9iS2sSznbA3AMtnfDmxGylj9x6a/QXu3Uy9G5OKpRCj3YIifDg2uvavglQ JQyEJ46KUfwANtPpiRQ9UMg1ItzmAg86c7jtaD9Lzs4tW+zPjIL1XIhDA+DGIbY73FA/j9 PlS0uslN48Gfyk5AT7qrA9nXHaa7eEFeh90zdg7j0f7LfM/gjyQRjpjgVbjbtNG2au4dWP OQQqf+Fgz3LE3Klfw6Sei68JyPfP0kHyIE8OHgESFmBfbwlDn1PTXPoTgpcz8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1767014518; a=rsa-sha256; cv=none; b=BnX9q6QTQIETpPERl0TaY7dEMeRQEZK9g4Ed3KjN4CaLwDBFoGdkKv778HSIiPvbU2T5S6 W3lSd1ko/V3GcwXfFakj+suioB8zq3qJ9CWPmKTjIhRb4R/wMmhOwJQq2/HlXmCxwYDqer Cz4EbhuxxqxeSgE7SRjC8NPOMCQ1I7oWG1f695IwpuJLeUOqBeUx7pFWseQQPYeXsNu5Gu DUVhGtqCw3X2IWdA/yeJLO6QMCCIoQJ77xVWiEKS0XnLiaOgH1cyJ+4shJuZtD5UF4WmYE SO/VPL6ynJJgXOasYP0TpRqJs7AJAcE9qkzvYlEvmQbrueZVC5R+UbZWJ7Ofjw== 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 4dfxhQ5G5mz23n for ; Mon, 29 Dec 2025 13:21:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3686a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 29 Dec 2025 13:21:53 +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: faff7013187b - main - geom_part: Fix format string issues 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 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: faff7013187b03f4240af6f52f608e7ebafe19f3 Auto-Submitted: auto-generated Date: Mon, 29 Dec 2025 13:21:53 +0000 Message-Id: <69528071.3686a.455119c1@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=faff7013187b03f4240af6f52f608e7ebafe19f3 commit faff7013187b03f4240af6f52f608e7ebafe19f3 Author: Dag-Erling Smørgrav AuthorDate: 2025-12-29 13:20:52 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-12-29 13:20:52 +0000 geom_part: Fix format string issues This fixes a segfault on i386 and armv7 and numerous style violations. PR: 292008 Fixes: 4f809ffec69c ("gpart: add libxo support for "show" subcommand + man page updates") Reviewed by: js Differential Revision: https://reviews.freebsd.org/D54393 --- lib/geom/part/geom_part.c | 69 +++++++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/lib/geom/part/geom_part.c b/lib/geom/part/geom_part.c index ac1bc25118f1..852eec2d790a 100644 --- a/lib/geom/part/geom_part.c +++ b/lib/geom/part/geom_part.c @@ -46,6 +46,7 @@ #include #include #include + #include #include "core/geom.h" @@ -651,11 +652,12 @@ gpart_show_geom(struct ggeom *gp, const char *element, int show_providers) pp = LIST_FIRST(&gp->lg_consumer)->lg_provider; secsz = pp->lg_sectorsize; xo_open_instance("part"); - xo_emit("=>{t:start/%*jd} {t:sectors/%*jd} {t:name/%*s} {:scheme} ({h:size/%ld}){t:state}\n", - wblocks, (intmax_t)first, wblocks, (intmax_t)(last - first + 1), - wname, gp->lg_name, - scheme, pp->lg_mediasize, - s ? " [CORRUPT]": ""); + xo_emit("=>{t:start/%*jd} {t:sectors/%*jd} " + "{t:name/%*s} {:scheme} ({h:size/%jd})" + "{t:state}\n", + wblocks, (intmax_t)first, wblocks, (intmax_t)(last - first + 1), + wname, gp->lg_name, scheme, (intmax_t)pp->lg_mediasize, + s ? " [CORRUPT]": ""); xo_open_list("partitions"); while ((pp = find_provider(gp, first)) != NULL) { @@ -670,35 +672,43 @@ gpart_show_geom(struct ggeom *gp, const char *element, int show_providers) idx = atoi(s); if (first < sector) { xo_open_instance(s); - xo_emit(" {t:start/%*jd} {t:sectors/%*jd} {P:/%*s} {ne:free}- free - ({h:size/%ld})\n", - wblocks, (intmax_t)first, wblocks, - (intmax_t)(sector - first), wname, "", - "true", (sector - first) * secsz); + xo_emit(" {t:start/%*jd} " + "{t:sectors/%*jd} " + "{P:/%*s} " + "{ne:free}- free - ({h:size/%jd})\n", + wblocks, (intmax_t)first, + wblocks, (intmax_t)(sector - first), + wname, "", + "true", (intmax_t)(sector - first) * secsz); xo_close_instance(s); } xo_open_instance(s); xo_emit(" {t:start/%*jd} {t:sectors/%*jd}", - wblocks, (intmax_t)sector, wblocks, (intmax_t)length); + wblocks, (intmax_t)sector, wblocks, (intmax_t)length); if (show_providers) { - xo_emit(" {t:name/%*s}{e:index/%d}", wname, pp->lg_name, idx); - } else - xo_emit(" {t:index/%*d}{e:name}", wname, idx, pp->lg_name); + xo_emit(" {t:name/%*s}{e:index/%d}", + wname, pp->lg_name, idx); + } else { + xo_emit(" {t:index/%*d}{e:name}", + wname, idx, pp->lg_name); + } - if (strcmp(element, "label") == 0) + if (strcmp(element, "label") == 0) { xo_emit(" {:label}{e:type}{e:rawtype}", - find_provcfg(pp, element), - find_provcfg(pp, "type"), - find_provcfg(pp, "rawtype")); - else if (strcmp(element, "type") == 0) + find_provcfg(pp, element), + find_provcfg(pp, "type"), + find_provcfg(pp, "rawtype")); + } else if (strcmp(element, "type") == 0) { xo_emit(" {:type}{e:label}{e:rawtype}", - find_provcfg(pp, element), - find_provcfg(pp, "label"), - find_provcfg(pp, "rawtype")); - else + find_provcfg(pp, element), + find_provcfg(pp, "label"), + find_provcfg(pp, "rawtype")); + } else { xo_emit(" {:rawtype}{e:type}{e:label}", - find_provcfg(pp, element), - find_provcfg(pp, "type"), - find_provcfg(pp, "label")); + find_provcfg(pp, element), + find_provcfg(pp, "type"), + find_provcfg(pp, "label")); + } idx = 0; LIST_FOREACH(gc, &pp->lg_config, lg_config) { @@ -713,7 +723,7 @@ gpart_show_geom(struct ggeom *gp, const char *element, int show_providers) } if (idx) xo_emit("]"); - xo_emit(" ({h:size/%ld})\n", pp->lg_mediasize); + xo_emit(" ({h:size/%jd})\n", (intmax_t)pp->lg_mediasize); xo_close_instance(s); first = end + 1; } @@ -721,9 +731,10 @@ gpart_show_geom(struct ggeom *gp, const char *element, int show_providers) if (first <= last) { xo_open_instance("unallocated"); length = last - first + 1; - xo_emit(" {t:start/%*jd} {t:sectors/%*jd} {P:/%*s} {ne:free}- free - ({h:size/%ld})\n", + xo_emit(" {t:start/%*jd} {t:sectors/%*jd} " + "{P:/%*s} {ne:free}- free - ({h:size/%jd})\n", wblocks, (intmax_t)first, wblocks, (intmax_t)length, - wname, "", "true", length * secsz); + wname, "", "true", (intmax_t)length * secsz); xo_close_instance("unallocated"); } xo_close_list("partitions"); @@ -1112,7 +1123,7 @@ gpart_bootfile_read(const char *bootfile, ssize_t *size) if (sb.st_size == 0) errx(EXIT_FAILURE, "%s: empty file", bootfile); if (*size > 0 && sb.st_size > *size) - errx(EXIT_FAILURE, "%s: file too big (%zu limit)", bootfile, + errx(EXIT_FAILURE, "%s: file too big (%zd limit)", bootfile, *size); *size = sb.st_size;