bio: note that BIO_sprintf null terminates on insufficient space.

Fixes: #14772

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14829)
This commit is contained in:
Pauli 2021-04-12 13:52:19 +10:00
parent 4e1ebda9d9
commit 586d9436c8

View File

@ -18,16 +18,16 @@ BIO_printf, BIO_vprintf, BIO_snprintf, BIO_vsnprintf
=head1 DESCRIPTION
BIO_printf() is similar to the standard C printf() function, except that
the output is sent to the specified BIO, B<bio>, rather than standard
the output is sent to the specified BIO, I<bio>, rather than standard
output. All common format specifiers are supported.
BIO_vprintf() is similar to the vprintf() function found on many platforms,
the output is sent to the specified BIO, B<bio>, rather than standard
the output is sent to the specified BIO, I<bio>, rather than standard
output. All common format specifiers are supported. The argument
list B<args> is a stdarg argument list.
list I<args> is a stdarg argument list.
BIO_snprintf() is for platforms that do not have the common snprintf()
function. It is like sprintf() except that the size parameter, B<n>,
function. It is like sprintf() except that the size parameter, I<n>,
specifies the size of the output buffer.
BIO_vsnprintf() is to BIO_snprintf() as BIO_vprintf() is to BIO_printf().
@ -38,6 +38,12 @@ All functions return the number of bytes written, or -1 on error.
For BIO_snprintf() and BIO_vsnprintf() this includes when the output
buffer is too small.
=head1 NOTES
Except when I<n> is 0, both BIO_snprintf() and BIO_vsnprintf() terminate
their output with C<'\0'> even when there is insufficient space to output
the whole string.
=head1 COPYRIGHT
Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved.