Merge "IPACM: fix crash issue in LE"
diff --git a/ipacm/inc/IPACM_Log.h b/ipacm/inc/IPACM_Log.h
index d468f96..8a05761 100644
--- a/ipacm/inc/IPACM_Log.h
+++ b/ipacm/inc/IPACM_Log.h
@@ -61,18 +61,18 @@
static char buffer_send[MAX_BUF_LEN];
-#define PERROR(fmt) memset(buffer_send, 0, sizeof(MAX_BUF_LEN));\
+#define PERROR(fmt) memset(buffer_send, 0, MAX_BUF_LEN);\
snprintf(buffer_send,MAX_BUF_LEN,"%s:%d %s()", __FILE__, __LINE__, __FUNCTION__);\
ipacm_log_send (buffer_send); \
perror(fmt);
-#define IPACMERR(fmt, ...) memset(buffer_send, 0, sizeof(MAX_BUF_LEN));\
+#define IPACMERR(fmt, ...) memset(buffer_send, 0, MAX_BUF_LEN);\
snprintf(buffer_send,MAX_BUF_LEN,"ERR: %s:%d %s() " fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__);\
ipacm_log_send (buffer_send);
-#define IPACMDBG(fmt, ...) memset(buffer_send, 0, sizeof(MAX_BUF_LEN));\
+#define IPACMDBG(fmt, ...) memset(buffer_send, 0, MAX_BUF_LEN);\
snprintf(buffer_send,MAX_BUF_LEN,"%s:%d %s() " fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__);\
ipacm_log_send (buffer_send);
-#define IPACMLOG(fmt, ...) memset(buffer_send, 0, sizeof(MAX_BUF_LEN));\
+#define IPACMLOG(fmt, ...) memset(buffer_send, 0, MAX_BUF_LEN);\
snprintf(buffer_send,MAX_BUF_LEN, fmt, ##__VA_ARGS__);\
ipacm_log_send (buffer_send);
diff --git a/ipacm/src/IPACM_Lan.cpp b/ipacm/src/IPACM_Lan.cpp
index e0fe7b0..0dfbac9 100644
--- a/ipacm/src/IPACM_Lan.cpp
+++ b/ipacm/src/IPACM_Lan.cpp
@@ -1207,17 +1207,20 @@
}
}
+ /* initialize wifi client*/
+ get_client_memptr(eth_client, num_eth_client)->route_rule_set_v4 = false;
+ get_client_memptr(eth_client, num_eth_client)->route_rule_set_v6 = 0;
+ get_client_memptr(eth_client, num_eth_client)->ipv4_set = false;
+ get_client_memptr(eth_client, num_eth_client)->ipv6_set = 0;
+ num_eth_client++;
+ header_name_count++; //keep increasing header_name_count
+ res = IPACM_SUCCESS;
+ IPACMDBG("eth client number: %d\n", num_eth_client);
}
- /* initialize wifi client*/
- get_client_memptr(eth_client, num_eth_client)->route_rule_set_v4 = false;
- get_client_memptr(eth_client, num_eth_client)->route_rule_set_v6 = 0;
- get_client_memptr(eth_client, num_eth_client)->ipv4_set = false;
- get_client_memptr(eth_client, num_eth_client)->ipv6_set = 0;
- num_eth_client++;
- header_name_count++; //keep increasing header_name_count
- res = IPACM_SUCCESS;
- IPACMDBG("eth client number: %d\n", num_eth_client);
-
+ else
+ {
+ return res;
+ }
fail:
free(pHeaderDescriptor);
diff --git a/ipacm/src/IPACM_Wlan.cpp b/ipacm/src/IPACM_Wlan.cpp
index 42099f0..e111bfd 100644
--- a/ipacm/src/IPACM_Wlan.cpp
+++ b/ipacm/src/IPACM_Wlan.cpp
@@ -895,6 +895,10 @@
private_fl_rule_hdl[i] = pFilteringTable->rules[i].rule_hdl;
}
}
+ else
+ {
+ return IPACM_SUCCESS;
+ }
fail:
free(pFilteringTable);
return res;
@@ -1312,23 +1316,26 @@
break;
}
}
- }
- /* initialize wifi client*/
- get_client_memptr(wlan_client, num_wifi_client)->route_rule_set_v4 = false;
- get_client_memptr(wlan_client, num_wifi_client)->route_rule_set_v6 = 0;
- get_client_memptr(wlan_client, num_wifi_client)->ipv4_set = false;
- get_client_memptr(wlan_client, num_wifi_client)->ipv6_set = 0;
- get_client_memptr(wlan_client, num_wifi_client)->power_save_set=false;
- num_wifi_client++;
- header_name_count++; //keep increasing header_name_count
- IPACM_Wlan::total_num_wifi_clients++;
- res = IPACM_SUCCESS;
- IPACMDBG("Wifi client number: %d\n", num_wifi_client);
+ /* initialize wifi client*/
+ get_client_memptr(wlan_client, num_wifi_client)->route_rule_set_v4 = false;
+ get_client_memptr(wlan_client, num_wifi_client)->route_rule_set_v6 = 0;
+ get_client_memptr(wlan_client, num_wifi_client)->ipv4_set = false;
+ get_client_memptr(wlan_client, num_wifi_client)->ipv6_set = 0;
+ get_client_memptr(wlan_client, num_wifi_client)->power_save_set=false;
+ num_wifi_client++;
+ header_name_count++; //keep increasing header_name_count
+ IPACM_Wlan::total_num_wifi_clients++;
+ res = IPACM_SUCCESS;
+ IPACMDBG("Wifi client number: %d\n", num_wifi_client);
+ }
+ else
+ {
+ return res;
+ }
fail:
free(pHeaderDescriptor);
-
return res;
}