Model: Fix crash in ResolveGenericArguments with 32-bit binary rebased above 0x80000000 (#119)

This commit is contained in:
Katy Coe
2020-12-30 08:25:01 +01:00
parent ec6f65b7dc
commit b004b8195b

View File

@@ -175,9 +175,9 @@ namespace Il2CppInspector.Reflection
public TypeInfo[] ResolveGenericArguments(Il2CppGenericInst inst) { public TypeInfo[] ResolveGenericArguments(Il2CppGenericInst inst) {
// Get list of pointers to type parameters (both unresolved and concrete) // Get list of pointers to type parameters (both unresolved and concrete)
var genericTypeArguments = Package.BinaryImage.ReadMappedWordArray(inst.type_argv, (int)inst.type_argc); var genericTypeArguments = Package.BinaryImage.ReadMappedArray<ulong>(inst.type_argv, (int)inst.type_argc);
return genericTypeArguments.Select(a => GetTypeFromVirtualAddress((ulong) a)).ToArray(); return genericTypeArguments.Select(a => GetTypeFromVirtualAddress(a)).ToArray();
} }
// Initialize type from type reference (TypeRef) // Initialize type from type reference (TypeRef)