send debug msg if contains '\n'

Signed-off-by: valord577 <valord577@gmail.com>
This commit is contained in:
valord577 2023-02-15 19:01:16 +08:00 committed by Dave Rodgman
parent 9ecf5f96df
commit 24da0cd0f9

View file

@ -68,6 +68,7 @@ void mbedtls_debug_print_msg(const mbedtls_ssl_context *ssl, int level,
va_list argp;
char str[DEBUG_BUF_SIZE];
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
int newline = -1;
if (NULL == ssl ||
NULL == ssl->conf ||
@ -80,17 +81,27 @@ void mbedtls_debug_print_msg(const mbedtls_ssl_context *ssl, int level,
ret = mbedtls_vsnprintf(str, DEBUG_BUF_SIZE, format, argp);
va_end(argp);
if (ret >= 0 && ret < DEBUG_BUF_SIZE - 1) {
str[ret] = '\n';
str[ret + 1] = '\0';
if (DEBUG_BUF_SIZE >= 2) {
if (ret < 0) {
newline = 0;
} else {
newline = ret;
if (ret >= DEBUG_BUF_SIZE - 1) {
newline = DEBUG_BUF_SIZE - 2;
}
}
else
{
str[DEBUG_BUF_SIZE - 2] = '\n';
}
/*
* Send if str contains '\n'.
*/
if (newline >= 0) {
str[newline] = '\n';
str[newline + 1] = '\0';
debug_send_line(ssl, level, file, line, str);
}
}
void mbedtls_debug_print_ret(const mbedtls_ssl_context *ssl, int level,
const char *file, int line,