diff --git a/src/xenia/kernel/xam/xam_info.cc b/src/xenia/kernel/xam/xam_info.cc index 9996a17ee..38fdc04d0 100644 --- a/src/xenia/kernel/xam/xam_info.cc +++ b/src/xenia/kernel/xam/xam_info.cc @@ -198,10 +198,11 @@ dword_result_t XamEnumerate(dword_t handle, dword_t flags, lpvoid_t buffer, } } - size_t actual_buffer_length = e->item_size() * e->items_per_enumerate(); - if (actual_buffer_length != buffer_length) { + size_t actual_buffer_length = (uint32_t)buffer_length; + if (buffer_length == e->items_per_enumerate()) { + actual_buffer_length = e->item_size() * e->items_per_enumerate(); // Known culprits: - // Final Fight: Double Impact + // Final Fight: Double Impact (saves) XELOGW( "Broken usage of XamEnumerate! buffer length=%.X vs actual length=%.X " "(item size=%.X, items per enumerate=%u)",