Merge "IPACM: fix lan/wan calloc free issue"
diff --git a/ipacm/src/IPACM_Lan.cpp b/ipacm/src/IPACM_Lan.cpp
index 1375ce8..6ff9880 100644
--- a/ipacm/src/IPACM_Lan.cpp
+++ b/ipacm/src/IPACM_Lan.cpp
@@ -1338,6 +1338,11 @@
 	{
 		free(iface_query);
 	}
+	if (route_rule != NULL)
+	{
+		free(route_rule);
+	}
+
 	
 	return res;
 }
diff --git a/ipacm/src/IPACM_Wan.cpp b/ipacm/src/IPACM_Wan.cpp
index f353aea..0672c92 100644
--- a/ipacm/src/IPACM_Wan.cpp
+++ b/ipacm/src/IPACM_Wan.cpp
@@ -1655,10 +1655,30 @@
 	}
 
 fail:
-	free(tx_prop);
-	free(rx_prop);
-	free(iface_query);
-
+	if (tx_prop != NULL)
+	{
+		free(tx_prop); 
+	}
+	if (rx_prop != NULL)
+	{
+		free(rx_prop);
+	}
+	if (iface_query != NULL)
+	{
+		free(iface_query);
+	}
+	if (wan_route_rule_v4_hdl != NULL)
+	{
+		free(wan_route_rule_v4_hdl);
+	}
+	if (wan_route_rule_v6_hdl != NULL)
+	{
+		free(wan_route_rule_v6_hdl);
+	}
+	if (wan_route_rule_v6_hdl_a5 != NULL)
+	{
+		free(wan_route_rule_v6_hdl_a5);
+	}
 	return res;
 }