D765 - A retail process has no sanitizer replacement
Status: decided Date: 2026-10-08 known_by: assumed
sceKernelGetSanitizerMallocReplaceExternal() and
sceKernelGetSanitizerNewReplaceExternal() answer null.
Why: a title's libc.prx asks for both
while it sets up its heap. It tests each answer for null and reads a
size-prefixed table through anything else (PPSA02664
libc.prx +0x16252). The table is the allocator
a sanitizer runtime installs in place of the title's own, and a retail
title runs without one. Null keeps the title's allocator. The
placeholder was read as a table and faulted.
Assumed: that a retail process on the console answers null too. obSCEne is asked to measure it.