fixed some crash for NFC.
authorjihwan.seo <jihwan.seo@samsung.com>
Fri, 25 Mar 2016 00:25:43 +0000 (09:25 +0900)
committerJon A. Cruz <jon@joncruz.org>
Fri, 25 Mar 2016 09:15:34 +0000 (09:15 +0000)
Change-Id: I6abdd1cd99771a73876ffb5e8d2a9da40d2f19c0
Signed-off-by: jihwan.seo <jihwan.seo@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/6309
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Ashok Babu Channa <ashok.channa@samsung.com>
(cherry picked from commit 7a551aee2bb9927f89814f00ca276484a13b8e99)
Reviewed-on: https://gerrit.iotivity.org/gerrit/6317
Reviewed-by: Jaehong Jo <jaehong.jo@samsung.com>
Reviewed-by: Jon A. Cruz <jon@joncruz.org>
resource/csdk/connectivity/src/nfc_adapter/android/canfcserver.c

index 0b2d6c9..aa23348 100644 (file)
@@ -70,6 +70,12 @@ void CANFCSetPacketReceiveCallback(CANFCPacketReceivedCallback callback)
 CAResult_t SetCreateNdefMessageCallbackfromNative(JNIEnv* env)\r
 {\r
     OIC_LOG(DEBUG, TAG, "SetCreateNdefMessageCallbackfromNative IN");\r
+\r
+    VERIFY_NON_NULL(env, TAG, "env");\r
+    VERIFY_NON_NULL(g_context, TAG, "g_context");\r
+    VERIFY_NON_NULL(g_activity, TAG, "g_activity");\r
+    VERIFY_NON_NULL(g_nfcInterface, TAG, "g_nfcInterface");\r
+\r
     jclass cid_NfcAdapter = (*env)->FindClass(env, "android/nfc/NfcAdapter");\r
     if (!cid_NfcAdapter)\r
     {\r
@@ -122,17 +128,9 @@ CAResult_t CANfcCreateJniInterfaceObject()
 {\r
     OIC_LOG(DEBUG, TAG, "CANfcCreateJniInterfaceObject IN");\r
 \r
-    if (!g_context)\r
-    {\r
-        OIC_LOG(ERROR, TAG, "g_context is null");\r
-        return CA_STATUS_FAILED;\r
-    }\r
-\r
-    if (!g_jvm)\r
-    {\r
-        OIC_LOG(ERROR, TAG, "g_jvm is null");\r
-        return CA_STATUS_FAILED;\r
-    }\r
+    VERIFY_NON_NULL(g_activity, TAG, "g_activity");\r
+    VERIFY_NON_NULL(g_context, TAG, "g_context");\r
+    VERIFY_NON_NULL(g_jvm, TAG, "g_jvm");\r
 \r
     bool isAttached = false;\r
     JNIEnv* env;\r
@@ -416,6 +414,8 @@ Java_org_iotivity_ca_CaNfcInterface_caNativeNfcInvokeBeam(JNIEnv *env, jobject o
     OIC_LOG(DEBUG, TAG, "cANativeNfcInvokeBeam : IN");\r
     VERIFY_NON_NULL_RET(env, TAG, "env is null", false);\r
     VERIFY_NON_NULL_RET(obj, TAG, "obj is null", false);\r
+    VERIFY_NON_NULL_RET(g_context, TAG, "g_context is null", false);\r
+    VERIFY_NON_NULL_RET(g_activity, TAG, "g_activity is null", false);\r
 \r
     jclass cid_NfcAdapter = (*env)->FindClass(env, "android/nfc/NfcAdapter");\r
     if (!cid_NfcAdapter)\r
@@ -516,6 +516,8 @@ CAResult_t CANfcSendDataImpl(const CAEndpoint_t * ep, const char* data, uint32_t
 {\r
     VERIFY_NON_NULL(ep, TAG, "CANfcSendDataImpl : endpoint is null");\r
     VERIFY_NON_NULL(data, TAG, "CANfcSendDataImpl : data is null");\r
+    VERIFY_NON_NULL(g_jvm, TAG, "CANfcSendDataImpl : g_jvm is null");\r
+\r
     OIC_LOG(INFO, TAG, "CANfcSendDataImpl moved env outside");\r
     bool isAttached = false;\r
     JNIEnv* env;\r