aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-10-05 23:57:04 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2022-10-05 23:57:04 +0000
commit6aa3bdfb161af9c190df44efa1c3160fc6b71314 (patch)
treeec7eaf7308d22f592a0ca98737897d801df40d7b
parente6fb091bbaaea06bd8b4dae07e3ba92ec6eb6d22 (diff)
parent32e6cca3282d41ba2a7e5d4c79369eb313edc816 (diff)
downloadbionic-6aa3bdfb161af9c190df44efa1c3160fc6b71314.tar.gz
Merge "Merge "stack_protector_DeathTest#modify_stack_protector: avoid flake." into android12-tests-dev am: 793d1fb5ab" into android12L-tests-devandroid12L-tests-dev
-rw-r--r--tests/stack_protector_test_helper.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/tests/stack_protector_test_helper.cpp b/tests/stack_protector_test_helper.cpp
index fd90b939b..eddd94074 100644
--- a/tests/stack_protector_test_helper.cpp
+++ b/tests/stack_protector_test_helper.cpp
@@ -19,7 +19,8 @@ __attribute__((noinline)) void modify_stack_protector_test() {
// We can't use memset here because it's fortified, and we want to test
// the line of defense *after* that.
// Without volatile, the generic x86/x86-64 targets don't write to the stack.
- volatile char* p;
- p = reinterpret_cast<volatile char*>(&p + 1);
- *p = '\0';
+ // We can't make a constant change, since the existing byte might already have
+ // had that value.
+ volatile char* p = reinterpret_cast<volatile char*>(&p + 1);
+ *p = ~*p;
}