Merge "[Bugfix][T106][bug-view-213]Fix the memory leak issue of the data module -- free parcel after data_call fail"
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
index f64f900..94a5f00 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
@@ -1264,6 +1264,7 @@
                     sendSignalPdnChange();
                 }
             }
+            free_parcel(p);
             continue;
         }
         set_list_buffer_valid(false);
@@ -1312,6 +1313,7 @@
                     sendSignalPdnChange();
                 }
             }
+            free_parcel(p);
             continue;
         }
 
@@ -1718,6 +1720,7 @@
     else
     {
         LYINFLOG("avail <= 0\n");
+        free_parcel(p);
         return -1;
     }
 
@@ -1780,6 +1783,7 @@
     }
     else
     {
+        free_parcel(p);
         return error;
     }
 }
@@ -2001,6 +2005,7 @@
     if(JumpHeader(p,&resp_type,&client.uToken,&request,&slot_id,&error)!=0)
     {
         LYERRLOG("JumpHeader fail");
+        free_parcel(p);
         return -1;
     }
     LYINFLOG("resp_type=%d,uToken=%d,request=%d,slot_id=%d,error_code=%d",resp_type,client.uToken,request,slot_id,error);