[Bugfix][API-408][Data]lynq_deavtive_data adds fault tolerance

Change-Id: Ic2f3ff3d57e73976656ddd6ba937c1497a96260b
diff --git a/src/lynq/lib/liblynq-data/lynq_data.cpp b/src/lynq/lib/liblynq-data/lynq_data.cpp
index 81a5270..c34f484 100755
--- a/src/lynq/lib/liblynq-data/lynq_data.cpp
+++ b/src/lynq/lib/liblynq-data/lynq_data.cpp
@@ -165,6 +165,18 @@
     lynq_apn_table[ret].hasUsed = 1;
     return ret;
 }
+
+int handleCheck(int handle)
+{
+    if (lynq_apn_table[handle].hasUsed == 1)
+    {
+        return 0;
+    }
+    else 
+    {
+        return -1;
+    }
+}
 int waitApnResult()
 {
     int ret = 0;
@@ -640,12 +652,19 @@
     int slot_id = -1;
     int error = -1;
     int lynq_data_call_id = -1;
-    lynq_data_call_id = *handle;
+    int ret = 0;
     if(handle==NULL)
     {
         LYERRLOG("handle is null!!!");
         return -1;
     }
+    ret = handleCheck(*handle);
+    if (ret != 0)
+    {
+        LYERRLOG("incomming handle is invalid");
+        return -1;
+    }
+    lynq_data_call_id = *handle;
     client.uToken = Global_uToken;
     client.request = 41;//RIL_REQUEST_DEACTIVATE_DATA_CALL
     if(strcmp(lynq_apn_table[lynq_data_call_id].apnType,"default")==0)