diff options
author | Andrew Waterman <waterman@cs.berkeley.edu> | 2016-03-01 12:19:11 -0800 |
---|---|---|
committer | Andrew Waterman <waterman@cs.berkeley.edu> | 2016-03-01 12:19:11 -0800 |
commit | dea1fa15f2712b7f6540c41832322c813591315f (patch) | |
tree | 4c77877401300bbabdb522a1e2804631d092a698 /pk/console.c | |
parent | 39c89b7db54a3a82355e179f33027113b8f69d55 (diff) | |
download | pk-dea1fa15f2712b7f6540c41832322c813591315f.zip pk-dea1fa15f2712b7f6540c41832322c813591315f.tar.gz pk-dea1fa15f2712b7f6540c41832322c813591315f.tar.bz2 |
Fix vsnprintf infinite loop
Diffstat (limited to 'pk/console.c')
-rw-r--r-- | pk/console.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/pk/console.c b/pk/console.c index a9258fc..097842b 100644 --- a/pk/console.c +++ b/pk/console.c @@ -56,9 +56,12 @@ int vsnprintf(char* out, size_t n, const char* s, va_list vl) } case 's': { - const char* s2 = va_arg(vl,const char*); - while(*s2) - if (++pos < n) out[pos-1] = *s2++; + const char* s2 = va_arg(vl, const char*); + while (*s2) { + if (++pos < n) + out[pos-1] = *s2; + s2++; + } longarg = false; format = false; break; |