[hal] Fix segfault in various HAL functions (#4891)

This commit is contained in:
Dustin Spicuzza
2023-01-02 02:19:04 -05:00
committed by GitHub
parent b0c6724eed
commit 25db20e49d
8 changed files with 25 additions and 1 deletions

View File

@@ -242,6 +242,9 @@ static SIM_JniHandle AllocateDeviceCallback(
static void FreeDeviceCallback(JNIEnv* env, SIM_JniHandle handle,
FreeDeviceCallbackFunc freeCallback) {
auto callback = deviceCallbackHandles->Free(handle);
if (callback == nullptr) {
return;
}
freeCallback(callback->getCallbackId());
callback->free(env);
}
@@ -296,6 +299,9 @@ static SIM_JniHandle AllocateValueCallback(
static void FreeValueCallback(JNIEnv* env, SIM_JniHandle handle,
FreeValueCallbackFunc freeCallback) {
auto callback = valueCallbackHandles->Free(handle);
if (callback == nullptr) {
return;
}
freeCallback(callback->getCallbackId());
callback->free(env);
}