From: notaz Date: Tue, 30 Dec 2025 22:02:29 +0000 (+0200) Subject: psxbios: avoid unsafe pointer access X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4eea81ecaaf2473b97545f825aec0589023d590e;p=pcsx_rearmed.git psxbios: avoid unsafe pointer access sanitizers were not happy --- diff --git a/libpcsxcore/psxbios.c b/libpcsxcore/psxbios.c index 7dd9f9ca..0fe3499f 100644 --- a/libpcsxcore/psxbios.c +++ b/libpcsxcore/psxbios.c @@ -2857,13 +2857,16 @@ void psxBios_nextfile() { // 43 } #define burename(mcd) { \ + char *pa0 = Ra0; \ + char *pa1 = Ra1; \ + if (pa0 != INVALID_PTR && pa1 != INVALID_PTR) \ for (i=1; i<16; i++) { \ int namelen, j, xor = 0; \ ptr = Mcd##mcd##Data + 128 * i; \ if ((*ptr & 0xF0) != 0x50) continue; \ - if (strcmp(Ra0+5, ptr+0xa)) continue; \ - namelen = strlen(Ra1+5); \ - memcpy(ptr+0xa, Ra1+5, namelen); \ + if (strcmp(pa0+5, ptr+0xa)) continue; \ + namelen = strlen(pa1+5); \ + memcpy(ptr+0xa, pa1+5, namelen); \ memset(ptr+0xa+namelen, 0, 0x75-namelen); \ for (j=0; j<127; j++) xor^= ptr[j]; \ ptr[127] = xor; \