__snprintf_chk -- convert formatted output, with buffer overflow checking


#include <stdio.h>

int __snprintf_chk(char * str, size_t maxlen, int flag, size_t strlen, const char * format);


The interface __snprintf_chk() shall function in the same way as the interface snprintf(), except that __snprintf_chk() shall check for buffer overflow before computing a result, depending on the value of the flag parameter. If an overflow is anticipated, the function shall abort and the program calling it shall exit.

In general, the higher the value of flag, the more security measures this interface shall take in the form of checking the buffer, parameter values, and so on.

The parameter strlen specifies the size of the buffer str. If strlen is less than maxlen, the function shall abort, and the program calling it shall exit.

The __snprintf_chk() function is not in the source standard; it is only in the binary standard.