Imported Upstream version 6.10.0.49

Former-commit-id: 1d6753294b2993e1fbf92de9366bb9544db4189b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2020-01-16 16:38:04 +00:00
parent d94e79959b
commit 468663ddbb
48518 changed files with 2789335 additions and 61176 deletions

View File

@@ -0,0 +1,29 @@
// RUN: %clang_safestack %s -o %t
// RUN: %run %t
// RUN: %clang_nosafestack -fno-stack-protector %s -o %t
// RUN: not %run %t
// Test that buffer overflows on the unsafe stack do not affect variables on the
// safe stack.
// REQUIRES: stable-runtime
__attribute__((noinline))
void fct(volatile int *buffer)
{
memset(buffer - 1, 0, 7 * sizeof(int));
}
int main(int argc, char **argv)
{
int prebuf[7];
int value1 = 42;
int buffer[5];
int value2 = 42;
int postbuf[7];
fct(prebuf + 1);
fct(postbuf + 1);
fct(buffer);
return value1 != 42 || value2 != 42;
}