Correct the boundary conditions in lib/vsnprintf.c; as it was we could have an undetected one-byte overwrite.
To deal with fools^Wpeople trying to keep really old systems alive, create a proper framework for substitution functions, and make it possible to deal with the lack of snprintf/vsnprintf in particular.