diff --git a/loader.cc b/loader.cc index 241749c20dd7668fd74f3501b28b6c61faad96eb..4c26fd9507bd923d781078e8bfaa3de7093fc4ad 100644 --- a/loader.cc +++ b/loader.cc @@ -253,14 +253,15 @@ void start_jvm(elf::program& prog) auto JNI_GetDefaultJavaVMInitArgs = prog.lookup_function<void (void*)>("JNI_GetDefaultJavaVMInitArgs"); - JavaVMInitArgs vm_args; + JavaVMInitArgs vm_args = {}; vm_args.version = JNI_VERSION_1_6; JNI_GetDefaultJavaVMInitArgs(&vm_args); auto JNI_CreateJavaVM - = prog.lookup_function<jint (JavaVM**, void**, void*)>("JNI_CreateJavaVM"); + = prog.lookup_function<jint (JavaVM**, JNIEnv**, void*)>("JNI_CreateJavaVM"); JavaVM* jvm = nullptr; + JNIEnv *env; - auto ret = JNI_CreateJavaVM(&jvm, nullptr, &vm_args); + auto ret = JNI_CreateJavaVM(&jvm, &env, &vm_args); debug(fmt("JNI_CreateJavaVM() returned %1%") % ret); }