Date: Sat, 10 May 2025 14:48:35 GMT From: Rick Macklem <rmacklem@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 511de5b1430e - main - runat.c: Add an explicit check for snprintf() failure Message-ID: <202505101448.54AEmZVh014937@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=511de5b1430ea974b3dc6fcb2af28d2e10b2b25e commit 511de5b1430ea974b3dc6fcb2af28d2e10b2b25e Author: Rick Macklem <rmacklem@FreeBSD.org> AuthorDate: 2025-05-10 14:44:38 +0000 Commit: Rick Macklem <rmacklem@FreeBSD.org> CommitDate: 2025-05-10 14:46:17 +0000 runat.c: Add an explicit check for snprintf() failure The check for "outsiz" too large was probably sufficient to catch failures, since it was cast to an unsigned (size_t). However, it seems appropriate to add an explicit check for a failed case (returning -1). Discussed with: oshogbo Fixes: 0660de8172cd ("runat: Add a runat(1) utility similar to the Solaris one") --- usr.bin/runat/runat.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.bin/runat/runat.c b/usr.bin/runat/runat.c index 66f4ebadd180..99437f3472f4 100644 --- a/usr.bin/runat/runat.c +++ b/usr.bin/runat/runat.c @@ -52,6 +52,8 @@ main(int argc, char *argv[]) pos = 0; for (i = 1; i < argc; i++) { outsiz = snprintf(&buf[pos], siz, "%s ", argv[i]); + if (outsiz <= 0) + errx(1, "snprintf failed: returned %d", outsiz); if ((size_t)outsiz > siz) errx(1, "Arguments too large"); pos += outsiz;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202505101448.54AEmZVh014937>