From e8c1931941cb57a7ea07bfc53b0a52f491be4b22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Apestegu=C3=ADa?= Date: Wed, 6 May 2026 12:03:15 +0200 Subject: [PATCH] mixer: Improve error messages Use better diagnostic messages when unit numbers are wrong. Reviewed by: arrowd@, christos@, kevans@ Approved by: christos@ Differential Revision: https://reviews.freebsd.org/D56845 (cherry picked from commit 9f5cfe625e9e8153599105458650e5fcecfd6281) --- usr.sbin/mixer/mixer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usr.sbin/mixer/mixer.c b/usr.sbin/mixer/mixer.c index e8c36d0c8bf7..88a65934d888 100644 --- a/usr.sbin/mixer/mixer.c +++ b/usr.sbin/mixer/mixer.c @@ -71,7 +71,7 @@ main(int argc, char *argv[]) errno = 0; dunit = strtol(optarg, NULL, 10); if (errno == EINVAL || errno == ERANGE) - err(1, "strtol(%s)", optarg); + err(1, "%s", strlen(optarg) ? optarg : "pcm"); dflag = 1; break; case 'f': @@ -328,6 +328,8 @@ set_dunit(struct mixer *m, int dunit) { int n; + if (dunit > mixer_get_nmixers()) + errx(1, "No such mixer unit: %d", dunit); if ((n = mixer_get_dunit()) < 0) { warn("cannot get default unit"); return (-1);