Module Name:    src
Committed By:   christos
Date:           Thu Nov 24 01:45:39 UTC 2011

Modified Files:
        src/sys/kern: subr_prf.c

Log Message:
- fixed signed/unsigned comparison
- don't write/increment sbuf if NULL


To generate a diff of this commit:
cvs rdiff -u -r1.147 -r1.148 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.147 src/sys/kern/subr_prf.c:1.148
--- src/sys/kern/subr_prf.c:1.147	Wed Nov 23 20:14:19 2011
+++ src/sys/kern/subr_prf.c	Wed Nov 23 20:45:39 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr_prf.c,v 1.147 2011/11/24 01:14:19 christos Exp $	*/
+/*	$NetBSD: subr_prf.c,v 1.148 2011/11/24 01:45:39 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.147 2011/11/24 01:14:19 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_prf.c,v 1.148 2011/11/24 01:45:39 christos Exp $");
 
 #include "opt_ddb.h"
 #include "opt_ipkdb.h"
@@ -1079,7 +1079,7 @@ vsnprintf(char *bf, size_t size, const c
 	retval = kprintf(fmt, TOBUFONLY, &p, bf, ap);
 	if (bf && size > 0) {
 		/* nul terminate */
-		if (size <= retval)
+		if (size <= (size_t)retval)
 			bf[size - 1] = '\0';
 		else
 			bf[retval] = '\0';
@@ -1142,10 +1142,8 @@ vsnprintf(char *bf, size_t size, const c
 
 #define KPRINTF_PUTCHAR(C) {						\
 	if (oflags == TOBUFONLY) {					\
-		if ((vp == NULL) || (sbuf < tailp)) 			\
+		if (sbuf && ((vp == NULL) || (sbuf < tailp))) 		\
 			*sbuf++ = (C);					\
-		else							\
-			sbuf++;						\
 	} else {							\
 		putchar((C), oflags, vp);				\
 	}								\

Reply via email to