Module Name: src Committed By: christos Date: Tue May 21 04:53:52 UTC 2019
Modified Files: src/sys/kern: subr_prf.c Log Message: va_copy list needs va_end; pointed out by kre@ To generate a diff of this commit: cvs rdiff -u -r1.178 -r1.179 src/sys/kern/subr_prf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/subr_prf.c diff -u src/sys/kern/subr_prf.c:1.178 src/sys/kern/subr_prf.c:1.179 --- src/sys/kern/subr_prf.c:1.178 Mon May 20 20:57:54 2019 +++ src/sys/kern/subr_prf.c Tue May 21 00:53:52 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: subr_prf.c,v 1.178 2019/05/21 00:57:54 kre Exp $ */ +/* $NetBSD: subr_prf.c,v 1.179 2019/05/21 04:53:52 christos Exp $ */ /*- * Copyright (c) 1986, 1988, 1991, 1993 @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: subr_prf.c,v 1.178 2019/05/21 00:57:54 kre Exp $"); +__KERNEL_RCSID(0, "$NetBSD: subr_prf.c,v 1.179 2019/05/21 04:53:52 christos Exp $"); #ifdef _KERNEL_OPT #include "opt_ddb.h" @@ -106,6 +106,7 @@ static void putchar(int, int, struct tt extern struct tty *constty; /* pointer to console "window" tty */ extern int log_open; /* subr_log: is /dev/klog open? */ extern krndsource_t rnd_printf_source; +extern int config_pending; const char *panicstr; /* arg to first call to panic (used as a flag to indicate that panic has already been called). */ struct cpu_info *paniccpu; /* cpu that first paniced */ @@ -866,7 +867,8 @@ aprint_error_internal(const char *prefix if (prefix) kprintf_internal("%s: ", flags, NULL, NULL, prefix); - kprintf_internal("autoconfiguration error: ", TOLOG, NULL, NULL); + if (config_pending) + kprintf_internal("autoconfiguration error: ", TOLOG, NULL, NULL); kprintf(fmt, flags, NULL, NULL, ap); kprintf_unlock(); @@ -1189,9 +1191,10 @@ vasprintf(char **bf, const char *fmt, va va_list cap; va_copy(cap, ap); - retval = kprintf(fmt, TOBUFONLY, NULL, NULL, ap) + 1; + retval = kprintf(fmt, TOBUFONLY, NULL, NULL, cap) + 1; + va_end(cap); *bf = kmem_alloc(retval, KM_SLEEP); - return vsnprintf(*bf, retval, fmt, cap); + return vsnprintf(*bf, retval, fmt, ap); } /*