view gcc/testsuite/g++.dg/asan/function-argument-2.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line source

// { dg-do run }
// { dg-shouldfail "asan" }

static __attribute__ ((noinline)) int
goo (int *a)
{
  return *(volatile int *)a;
}

__attribute__ ((noinline)) int
foo (char arg)
{
  return goo ((int *)&arg);
}

int
main ()
{
  return foo (12);
}

// { dg-output "ERROR: AddressSanitizer: stack-buffer-overflow on address.*(\n|\r\n|\r)" }
// { dg-output "READ of size . at.*" }
// { dg-output ".*'arg' <== Memory access at offset \[0-9\]* partially overflows this variable.*" }