summaryrefslogtreecommitdiff
path: root/tests/test_strncpy_overwrite_over.c
blob: d99d2701686fdd8db9815bb7350df55031cdd1b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#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'};
  CHK_FAIL_START
  strncpy(buffer2+1, buffer2, 5);
  CHK_FAIL_END

  puts(buffer2);
  return ret;
}