Skip to content
Permalink
Browse files

Android: Don't grab wiimote report if size is < 1

Fixes crash when using official wiimotes with the dolphin bar.
  • Loading branch information...
zackhow committed Jan 27, 2019
1 parent b14e540 commit 831ab64e1c13091c681596f077cdcba5ca013182
Showing with 7 additions and 4 deletions.
  1. +7 −4 Source/Core/Core/HW/WiimoteReal/IOAndroid.cpp
@@ -95,10 +95,13 @@ bool WiimoteAndroid::IsConnected() const
int WiimoteAndroid::IORead(u8* buf)
{
int read_size = m_env->CallStaticIntMethod(s_adapter_class, m_input_func, m_mayflash_index);
jbyte* java_data = m_env->GetByteArrayElements(m_java_wiimote_payload, nullptr);
memcpy(buf + 1, java_data, std::min(MAX_PAYLOAD - 1, read_size));
buf[0] = 0xA1;
m_env->ReleaseByteArrayElements(m_java_wiimote_payload, java_data, 0);
if (read_size > 0)
{
jbyte* java_data = m_env->GetByteArrayElements(m_java_wiimote_payload, nullptr);
memcpy(buf + 1, java_data, std::min(MAX_PAYLOAD - 1, read_size));
buf[0] = 0xA1;
m_env->ReleaseByteArrayElements(m_java_wiimote_payload, java_data, 0);
}
return read_size <= 0 ? read_size : read_size + 1;
}

0 comments on commit 831ab64

Please sign in to comment.
You can’t perform that action at this time.