From 991bd63731de070d351bcecb1a7708e39e94948e Mon Sep 17 00:00:00 2001 From: "hyuna0213.jo" Date: Thu, 1 Sep 2016 09:12:08 +0900 Subject: [PATCH] Fix crash issue when called unsubscribePresence. Adding null initialization code. Change-Id: I2d52b1fa479dd1956f089d202aa01fcc7da09e52 Signed-off-by: Jaehong Jo Signed-off-by: jihwan.seo Reviewed-on: https://gerrit.iotivity.org/gerrit/11069 Reviewed-by: jihwan seo Tested-by: jenkins-iotivity Reviewed-by: Ashok Babu Channa --- android/android_api/base/jni/JniOcPlatform.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/android/android_api/base/jni/JniOcPlatform.cpp b/android/android_api/base/jni/JniOcPlatform.cpp index f5200ae..b440bc0 100644 --- a/android/android_api/base/jni/JniOcPlatform.cpp +++ b/android/android_api/base/jni/JniOcPlatform.cpp @@ -2417,17 +2417,15 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unsubscribePresence0( ThrowOcException(result, "unsubscribe presence has failed"); return; } - jweak jwOnPresenceListener = - jniPresenceHandle->getJniOnPresenceListener()->getJWListener(); - if (jwOnPresenceListener) - { - RemoveOnPresenceListener(env, jwOnPresenceListener); - } - jweak jwOnObserveListener = - jniPresenceHandle->getJniOnObserveListener()->getJWListener(); - if (jwOnObserveListener) + + JniOnPresenceListener* jniPresenceListener = jniPresenceHandle->getJniOnPresenceListener(); + if (jniPresenceListener) { - RemoveOnObserveListener(env, jwOnObserveListener); + jweak jwOnPresenceListener = jniPresenceListener->getJWListener(); + if (jwOnPresenceListener) + { + RemoveOnPresenceListener(env, jwOnPresenceListener); + } } } catch (OCException& e) -- 2.7.4