Avoid one-byte overflow in error path. If the format string ends in an
authortb <tb@openbsd.org>
Sat, 30 Dec 2017 07:19:05 +0000 (07:19 +0000)
committertb <tb@openbsd.org>
Sat, 30 Dec 2017 07:19:05 +0000 (07:19 +0000)
commit0801b91a05825fdcc5625ed15b98cb1ef21f5594
treec5ca934cabbb30064d99cea67400c16cbf768574
parent4c4789d368df8953b91c5afdf522b2ca55f42b87
Avoid one-byte overflow in error path. If the format string ends in an
invalid specifier like `%l', p will already point to the trailing NUL
upon entering the switch, wherein the instruction

*++p = '\0';

will write another NUL after it, but there is no guarantee that the
buffer extends beyond that first NUL; thus, in the rare case where it
does not, this assignment will write one byte past its end.

from kshe
usr.bin/jot/jot.c