Skip to content

Commit 1603368

Browse files
committed
Ensure that JVM variable is not null before unloading
1 parent 39d54c4 commit 1603368

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

src/main/c/Posix/SerialPort_Posix.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,9 +360,10 @@ JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *reserved)
360360
JNIEXPORT void JNICALL Java_com_fazecast_jSerialComm_SerialPort_uninitializeLibrary(JNIEnv *env, jclass serialComm)
361361
{
362362
// Call the JNI Unload function
363-
JavaVM *jvm;
363+
JavaVM *jvm = NULL;
364364
(*env)->GetJavaVM(env, &jvm);
365-
JNI_OnUnload(jvm, NULL);
365+
if (jvm)
366+
JNI_OnUnload(jvm, NULL);
366367
}
367368

368369
JNIEXPORT jstring JNICALL Java_com_fazecast_jSerialComm_SerialPort_getNativeLibraryVersion(JNIEnv *env, jclass serialComm)

src/main/c/Windows/SerialPort_Windows.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -573,9 +573,10 @@ JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *reserved)
573573
JNIEXPORT void JNICALL Java_com_fazecast_jSerialComm_SerialPort_uninitializeLibrary(JNIEnv *env, jclass serialComm)
574574
{
575575
// Call the JNI Unload function
576-
JavaVM *jvm;
576+
JavaVM *jvm = NULL;
577577
(*env)->GetJavaVM(env, &jvm);
578-
JNI_OnUnload(jvm, NULL);
578+
if (jvm)
579+
JNI_OnUnload(jvm, NULL);
579580
}
580581

581582
JNIEXPORT jstring JNICALL Java_com_fazecast_jSerialComm_SerialPort_getNativeLibraryVersion(JNIEnv *env, jclass serialComm)

0 commit comments

Comments
 (0)