diff --git a/CHANGELOG.md b/CHANGELOG.md index 12b4acb241..b5eb15ea5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ * Check additional JNI calls for pending exceptions and no-op [#1142](https://github.com/bugsnag/bugsnag-android/pull/1142) +* Move free() call to exit block + [#1140](https://github.com/bugsnag/bugsnag-android/pull/1140) ## 5.6.2 (2021-02-15) diff --git a/bugsnag-plugin-android-ndk/src/main/jni/bugsnag_ndk.c b/bugsnag-plugin-android-ndk/src/main/jni/bugsnag_ndk.c index 7bf1463855..73a6d2b0fc 100644 --- a/bugsnag-plugin-android-ndk/src/main/jni/bugsnag_ndk.c +++ b/bugsnag-plugin-android-ndk/src/main/jni/bugsnag_ndk.c @@ -200,7 +200,6 @@ Java_com_bugsnag_android_ndk_NativeBridge_deliverReportAtPath( } else { BUGSNAG_LOG("Failed to serialize event as JSON: %s", event_path); } - free(event); } else { BUGSNAG_LOG("Failed to read event at file: %s", event_path); } @@ -209,6 +208,9 @@ Java_com_bugsnag_android_ndk_NativeBridge_deliverReportAtPath( exit: pthread_mutex_unlock(&bsg_native_delivery_mutex); + if (event != NULL) { + free(event); + } bsg_safe_release_byte_array_elements(env, jpayload, (jbyte *)payload); if (payload != NULL) { free(payload);