aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-10-06 20:44:49 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2022-10-06 20:44:49 +0000
commitf93c07f49d3ebd466aac894a341f71fd2d7f4bbd (patch)
treec49d26905bcc96dd0605345f8401509a8076e2a0
parent6e2280fb005c584dba7a10dacc6b1e66c14f4a3d (diff)
parent3e4004eda8b10d2dee453ca40a8e552604921f00 (diff)
downloadbionic-f93c07f49d3ebd466aac894a341f71fd2d7f4bbd.tar.gz
Merge "Snap for 9147254 from 159a0e884f639321811722251bf712ecaa50522f to android13-tests-release" into android13-tests-releaseandroid-vts-13.0_r2android-cts-13.0_r2
-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;
}