OWASP говорит:
"Библиотечные функции C, такие как strcpy (), strcat(), sprintf() и vsprintf () работают с нулевыми завершенными строками и не выполняйте проверку границ."
sprintf записывает форматированные данные в строку int sprintf (char * str, const char * format,...);
Пример:
sprintf(str, "%s", message); // assume declaration and
// initialization of variables
Если я понимаю комментарий OWASP, то опасность использования sprintf заключается в том, что
1) если длина сообщение длинa > str, там переполнение буфера
и
2) если сообщение не завершает нуль с \0
, то сообщение может быть скопировано в str за адресом памяти сообщение, вызывая переполнение буфера
Пожалуйста, подтвердите/отклоните. Благодаря