Does this code cause undefined behaviour? Because the buffer is only 128 byte long but i tell snprintf() that it is longer. However, the resulting string is shorter than 128 byte.
#include <stdio.h>
int main(void)
{
char buffer[128];
snprintf(buffer,294201,"%s","ABC");
puts(buffer);
return 0;
}