diff -urN oldtree/lib/vsprintf.c newtree/lib/vsprintf.c
--- oldtree/lib/vsprintf.c	2006-07-05 10:06:57.000000000 -0400
+++ newtree/lib/vsprintf.c	2006-07-05 21:08:39.000000000 -0400
@@ -283,12 +283,12 @@
 	}
 
 	str = buf;
-	end = buf + size - 1;
+	end = buf + size;
 
 	/* Make sure end is always >= buf */
-	if (end < buf - 1) {
+	if (end < buf) {
 		end = ((void *)-1);
-		size = end - buf + 1;
+		size = end - buf;
 	}
 
 	for (; *fmt ; ++fmt) {
