Verify pointer readability in PowerPC NextStackFrame()

PiperOrigin-RevId: 947879027
Change-Id: Id5af133d637a1f4591f65681d316a86c6307ccd2
diff --git a/absl/debugging/internal/stacktrace_powerpc-inl.inc b/absl/debugging/internal/stacktrace_powerpc-inl.inc
index ade4edf..f446655 100644
--- a/absl/debugging/internal/stacktrace_powerpc-inl.inc
+++ b/absl/debugging/internal/stacktrace_powerpc-inl.inc
@@ -92,6 +92,13 @@
   }
   if ((uintptr_t)new_sp % kStackAlignment != 0) return nullptr;
 
+  // Verify readability before using new_sp.
+  if (!STRICT_UNWINDING && new_sp != nullptr &&
+      !absl::debugging_internal::AddressIsReadable(
+          StacktracePowerPCGetLRPtr(new_sp))) {
+    return nullptr;
+  }
+
 #if defined(__linux__)
   enum StackTraceKernelSymbolStatus {
       kNotInitialized = 0, kAddressValid, kAddressInvalid };