aboutsummaryrefslogtreecommitdiff
path: root/lib/asan/output_tests/global-overflow.cc
blob: a63eb733365fabaa8fd4f17a6a5f144be6d5065c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string.h>
int main(int argc, char **argv) {
  static char XXX[10];
  static char YYY[10];
  static char ZZZ[10];
  memset(XXX, 0, 10);
  memset(YYY, 0, 10);
  memset(ZZZ, 0, 10);
  int res = YYY[argc * 10];  // BOOOM
  // Check-Common: {{READ of size 1 at 0x.* thread T0}}
  // Check-Common: {{    #0 0x.* in main .*global-overflow.cc:9}}
  // Check-Common: {{0x.* is located 0 bytes to the right of global variable}}
  // Check-Common:   {{.*YYY.* of size 10}}
  res += XXX[argc] + ZZZ[argc];
  return res;
}