[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)