Fix Wformat-overflow warning in ssl_mail_client.c

sprintf( (char *) buf, "%s\r\n", base );
 Above code generates Wformat-overflow warning since both buf and base
are of same size. buf should be sizeof( base ) + characters added in
the format. In this case format 2 bytes for "\r\n".
This commit is contained in:
Mohammad Azim Khan 2018-08-06 11:48:06 +01:00
parent b363382ba4
commit 9ebdcffef4

View file

@ -356,9 +356,15 @@ int main( int argc, char *argv[] )
int ret = 1, len; int ret = 1, len;
int exit_code = MBEDTLS_EXIT_FAILURE; int exit_code = MBEDTLS_EXIT_FAILURE;
mbedtls_net_context server_fd; mbedtls_net_context server_fd;
unsigned char buf[1024];
#if defined(MBEDTLS_BASE64_C) #if defined(MBEDTLS_BASE64_C)
unsigned char base[1024]; unsigned char base[1024];
/* buf is used as the destination buffer for printing base with the format:
* "%s\r\n". Hence, the size of buf should be at least the size of base
* plus 2 bytes for the \r and \n characters.
*/
unsigned char buf[sizeof( base ) + 2];
#else
unsigned char buf[1024];
#endif #endif
char hostname[32]; char hostname[32];
const char *pers = "ssl_mail_client"; const char *pers = "ssl_mail_client";