mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-02-05 18:40:01 +00:00
ssl_mail_client: Fix unbounded write of sprintf()
These calls to sprintf may overflow buf because opt.mail_from and opt.mail_to are controlled by users. Fix by replacing sprintf with snprintf. Signed-off-by: Mingjie Shen <shen497@purdue.edu>
This commit is contained in:
parent
31403a4ca8
commit
7d08983cb2
@ -727,7 +727,7 @@ usage:
|
||||
mbedtls_printf(" > Write MAIL FROM to server:");
|
||||
fflush(stdout);
|
||||
|
||||
len = sprintf((char *) buf, "MAIL FROM:<%s>\r\n", opt.mail_from);
|
||||
len = snprintf((char *) buf, sizeof(buf), "MAIL FROM:<%s>\r\n", opt.mail_from);
|
||||
ret = write_ssl_and_get_response(&ssl, buf, len);
|
||||
if (ret < 200 || ret > 299) {
|
||||
mbedtls_printf(" failed\n ! server responded with %d\n\n", ret);
|
||||
@ -739,7 +739,7 @@ usage:
|
||||
mbedtls_printf(" > Write RCPT TO to server:");
|
||||
fflush(stdout);
|
||||
|
||||
len = sprintf((char *) buf, "RCPT TO:<%s>\r\n", opt.mail_to);
|
||||
len = snprintf((char *) buf, sizeof(buf), "RCPT TO:<%s>\r\n", opt.mail_to);
|
||||
ret = write_ssl_and_get_response(&ssl, buf, len);
|
||||
if (ret < 200 || ret > 299) {
|
||||
mbedtls_printf(" failed\n ! server responded with %d\n\n", ret);
|
||||
@ -763,7 +763,8 @@ usage:
|
||||
mbedtls_printf(" > Write content to server:");
|
||||
fflush(stdout);
|
||||
|
||||
len = sprintf((char *) buf, "From: %s\r\nSubject: Mbed TLS Test mail\r\n\r\n"
|
||||
len = snprintf((char *) buf, sizeof(buf),
|
||||
"From: %s\r\nSubject: Mbed TLS Test mail\r\n\r\n"
|
||||
"This is a simple test mail from the "
|
||||
"Mbed TLS mail client example.\r\n"
|
||||
"\r\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user