summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2020-11-28 17:53:05 +0000
committerderaadt <deraadt@openbsd.org>2020-11-28 17:53:05 +0000
commit5c20e919d880add294929327dc44cf45947848e4 (patch)
tree1661dff61cf5db9ba5b7c3639865b2ded13a8412 /sys
parentPrepare for libX11 1.7.0 (diff)
downloadwireguard-openbsd-5c20e919d880add294929327dc44cf45947848e4.tar.xz
wireguard-openbsd-5c20e919d880add294929327dc44cf45947848e4.zip
Rather than skipping %[sizearg]n in the kernel, panic when it is encountered.
printf(9) already lacked documentation and needs no change.
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/subr_prf.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c
index 109664ca6da..0e584e0e1fb 100644
--- a/sys/kern/subr_prf.c
+++ b/sys/kern/subr_prf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: subr_prf.c,v 1.101 2020/07/24 14:27:47 kettenis Exp $ */
+/* $OpenBSD: subr_prf.c,v 1.102 2020/11/28 17:53:05 deraadt Exp $ */
/* $NetBSD: subr_prf.c,v 1.45 1997/10/24 18:14:25 chuck Exp $ */
/*-
@@ -869,18 +869,8 @@ reswitch: switch (ch) {
base = DEC;
goto number;
case 'n':
- /* %n is unsupported in the kernel; just skip it */
- if (flags & QUADINT)
- (void)va_arg(ap, quad_t *);
- else if (flags & LONGINT)
- (void)va_arg(ap, long *);
- else if (flags & SHORTINT)
- (void)va_arg(ap, short *);
- else if (flags & SIZEINT)
- (void)va_arg(ap, ssize_t *);
- else
- (void)va_arg(ap, int *);
- continue; /* no output */
+ panic("no %%n support\n");
+ break;
case 'O':
flags |= LONGINT;
/*FALLTHROUGH*/