[Bugfix][API-845][Data]Fix handle's value is invaild

Change-Id: Ie6af38854a3cb4014b4d405902b39996ebe46267
diff --git a/lib/liblynq-data/lynq_data.cpp b/lib/liblynq-data/lynq_data.cpp
index fbd120d..710a16e 100755
--- a/lib/liblynq-data/lynq_data.cpp
+++ b/lib/liblynq-data/lynq_data.cpp
@@ -398,7 +398,7 @@
                     if(lynq_apn_table[apnId].hasTimeout==1)
                     {
                         LYERRLOG("apn:%s has time out,deacive this apn",lynq_apn_table[apnId].apn);
-                        if (NULL != lynq_apn_table[apnId].apn && NULL != NULL != lynq_apn_table[apnId].apnType)
+                        if (NULL != lynq_apn_table[apnId].apn && NULL != lynq_apn_table[apnId].apnType && strlen(lynq_apn_table[apnId].apn)>0)
                         {
                             LYERRLOG("deactive this time out APN");
                             lynq_deactive_data_call(&apnId);
@@ -443,10 +443,10 @@
                 {
                     lynq_data_call_change_id = apnId;
                     bzero(lynq_apn_table[apnId].apnType,LYNQ_APN_TYPE_MAX_LEN);//async clean
+                    pthread_mutex_lock(&s_lynq_urc_vector_mutex);
+                    s_data_urc_wait_list.push_back(apnId);
+                    pthread_mutex_unlock(&s_lynq_urc_vector_mutex);
                 }
-                pthread_mutex_lock(&s_lynq_urc_vector_mutex);
-                s_data_urc_wait_list.push_back(apnId);
-                pthread_mutex_unlock(&s_lynq_urc_vector_mutex);
                 //sendSignalPdnChange();
                 LYDBGLOG("data call state:%d",lynq_data_call);
                 if(lynq_data_call==1)
@@ -918,6 +918,11 @@
         LYERRLOG("handle is NULL");
         return LYNQ_E_NULL_ANONALY;
     }
+    if (*handle<0 && handle>8)
+    {
+        LYERRLOG("handle value error");
+    }
+    LYINFLOG("incoming handle value: %d",*handle);
     memset(interDataCallList,0,sizeof(interDataCallList));
     error = getDataCallLists(interDataCallList,&number);
     if(error == 0)
@@ -951,11 +956,12 @@
 
     pthread_mutex_lock(&s_lynq_urc_vector_mutex);
     iter = s_data_urc_wait_list.begin();
-    handle = (*iter);
+    *handle = s_data_urc_wait_list.front();
+
     s_data_urc_wait_list.erase(iter);
     pthread_mutex_unlock(&s_lynq_urc_vector_mutex);
     
-    LYINFLOG("lynq data call id:%d",lynq_data_call_change_id);
+    LYINFLOG("lynq data call id:%d",*handle);
     return 0;
 }
 /*Warren add for T800 platform 2021/11/19 end*/