diff --git a/src/godot.cpp b/src/godot.cpp index dec614222..8322638ce 100644 --- a/src/godot.cpp +++ b/src/godot.cpp @@ -289,7 +289,7 @@ GDExtensionBool GDExtensionBinding::init(GDExtensionInterfaceGetProcAddress p_ge // Make sure we weren't passed the legacy struct. uint32_t *raw_interface = (uint32_t *)(void *)p_get_proc_address; - if (raw_interface[0] == 4 && raw_interface[1] == 0) { + if (uintptr_t(p_get_proc_address) % alignof(LegacyGDExtensionInterface) == 0 && raw_interface[0] == 4 && raw_interface[1] == 0) { // Use the legacy interface only to give a nice error. LegacyGDExtensionInterface *legacy_interface = (LegacyGDExtensionInterface *)p_get_proc_address; internal::gdextension_interface_print_error = (GDExtensionInterfacePrintError)legacy_interface->print_error;