OWASP says:
"C library functions such as strcpy (), strcat (), sprintf () and vsprintf () operate on null terminated strings and perform no bounds checking."
sprintf writes formatted data to string int sprintf ( char * str, const char * format, ... );
Example:
sprintf(str, "%s", message); // assume declaration and
// initialization of variables
If I understand OWASP's comment, then the dangers of using sprintf are that
1) if message's length > str's length, there's a buffer overflow
and
2) if message does not null-terminate with , then message could get copied into str beyond the memory address of message, causing a buffer overflow
Please confirm/deny. Thanks
See Question&Answers more detail:os