From e38c5da0546c2d1e0862933d50582333109e7fbe Mon Sep 17 00:00:00 2001 From: KitRifty Date: Fri, 16 Feb 2024 13:37:08 -0800 Subject: [PATCH] Fix edge case with passing 0 to PawnAddressToPtr --- extension/helpers.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/extension/helpers.h b/extension/helpers.h index 84ab100..8d32c46 100644 --- a/extension/helpers.h +++ b/extension/helpers.h @@ -158,6 +158,11 @@ inline cell_t PtrToPawnAddress(const void* ptr) { inline void* PawnAddressToPtr(cell_t addr) { #ifdef PLATFORM_X64 + if (!addr) { + // BUGFIX: Passing 0 to FromPseudoAddress won't return nullptr but a valid pseudo address. + // If we're getting 0 from a plugin then we treat it as nullptr since Address_Null is 0. + return 0; + } return (void*)g_pSM->FromPseudoAddress(addr); #else return (void*)addr;