Merge pull request #271 from dicej/socketexception

don't use GetPrimitiveArrayCritical when throwing SocketExceptions
This commit is contained in:
Joshua Warner 2014-05-23 10:52:30 -06:00
commit 73bcc766c1

View File

@ -143,9 +143,15 @@ throwSocketException(JNIEnv* e, const char* s)
void
throwSocketException(JNIEnv* e, jbyteArray a)
{
jbyte* s = static_cast<jbyte*>(e->GetPrimitiveArrayCritical(a, 0));
throwSocketException(e, reinterpret_cast<const char*>(s));
e->ReleasePrimitiveArrayCritical(a, s, 0);
size_t length = e->GetArrayLength(a);
uint8_t* buf = static_cast<uint8_t*>(allocate(e, length));
if (buf) {
e->GetByteArrayRegion(a, 0, length, reinterpret_cast<jbyte*>(buf));
throwSocketException(e, reinterpret_cast<const char*>(buf));
free(buf);
} else {
return;
}
}
void