summaryrefslogtreecommitdiff
path: root/tests/test_strncpy_overwrite_over.c
blob: 90897b643c3a27a3af637c29c8470145e4e65324 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "common.h"

#include <string.h>

int main(int argc, char** argv) {
  char buffer[9] = {'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', '\0'};
  puts(buffer);

  strncpy(buffer, buffer+4, 1);
  puts(buffer);

  strncpy(buffer+6, buffer, 1);
  puts(buffer);

  char buffer2[9] = {'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', '\0'};
#if 0
  CHK_FAIL_START
  strncpy(buffer2+1, buffer2, 5);
  CHK_FAIL_END
#endif

  puts(buffer2);
  return ret;
}