stack_protector_DeathTest#modify_stack_protector: avoid flake.

I've never been able to repro the flake myself (in hundreds of thousands
of runs), but it's certainly possible that a byte of the cookie is
already zero. So let's invert the byte we plan to corrupt rather than
set it to zero.

Bug: http://b/202948861
Test: treehugger
Change-Id: Iccd552fe302d6c01e376819d23c11a308e03acdb
diff --git a/tests/stack_protector_test_helper.cpp b/tests/stack_protector_test_helper.cpp
index fd90b93..eddd940 100644
--- a/tests/stack_protector_test_helper.cpp
+++ b/tests/stack_protector_test_helper.cpp
@@ -19,7 +19,8 @@
   // 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;
 }