jobject jkey = env->GetObjectArrayElement(jkeys, i);
if (env->ExceptionCheck()) {
// exception thrown: ArrayIndexOutOfBoundsException
+ // cleanup jkey_off and jkey_len
+ env->ReleaseIntArrayElements(jkey_lens, jkey_len, JNI_ABORT);
+ env->ReleaseIntArrayElements(jkey_offs, jkey_off, JNI_ABORT);
+
return false;
}
char* key = reinterpret_cast<char*>(env->GetDirectBufferAddress(jkey));
env->DeleteLocalRef(jkey);
}
+
+ // cleanup jkey_off and jkey_len
+ env->ReleaseIntArrayElements(jkey_lens, jkey_len, JNI_ABORT);
+ env->ReleaseIntArrayElements(jkey_offs, jkey_off, JNI_ABORT);
+
return true;
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.rocksdb.util.TestUtil;
public class MultiGetTest {
+ @ClassRule
+ public static final RocksNativeLibraryResource ROCKS_NATIVE_LIBRARY_RESOURCE =
+ new RocksNativeLibraryResource();
+
@Rule public TemporaryFolder dbFolder = new TemporaryFolder();
@Test