diff --git a/lib/tiny-printf.c b/lib/tiny-printf.c
index 403b134cd11222c493df68ab027cb085124ae681..efe5c25a59381f1f58f01c65818cb67fdf5a7b00 100644
--- a/lib/tiny-printf.c
+++ b/lib/tiny-printf.c
@@ -108,8 +108,10 @@ int vprintf(const char *fmt, va_list va)
 				w--;
 			while (w-- > 0)
 				putc(lz ? '0' : ' ');
-			while ((ch = *p++))
-				putc(ch);
+			if (p) {
+				while ((ch = *p++))
+					putc(ch);
+			}
 		}
 	}