test_stpncpy_overwrite_under.c (376B)
1 #include "common.h" 2 3 #include <string.h> 4 5 int main(int argc, char** argv) { 6 char buffer[9] = {'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', '\0'}; 7 puts(buffer); 8 9 stpncpy(buffer+5, buffer, 2); 10 puts(buffer); 11 12 char buffer2[] = {'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', '\0'}; 13 CHK_FAIL_START 14 stpncpy(buffer2-1, buffer2, 5); 15 CHK_FAIL_END 16 17 puts(buffer2); 18 return ret; 19 }