diff --git a/data-ipa-cfg-mgr/ipacm/src/IPACM_Lan.cpp b/data-ipa-cfg-mgr/ipacm/src/IPACM_Lan.cpp index 289dfb75..2d84cd75 100644 --- a/data-ipa-cfg-mgr/ipacm/src/IPACM_Lan.cpp +++ b/data-ipa-cfg-mgr/ipacm/src/IPACM_Lan.cpp @@ -5640,6 +5640,7 @@ int IPACM_Lan::add_l2tp_flt_rule(ipa_ip_type iptype, uint8_t *dst_mac, uint32_t if(m_routing.GetRoutingTable(&rt_tbl) == false) { IPACMERR("Failed to get routing table.\n"); + free(pFilteringTable); return IPACM_FAILURE; } diff --git a/data-ipa-cfg-mgr/ipacm/src/IPACM_Main.cpp b/data-ipa-cfg-mgr/ipacm/src/IPACM_Main.cpp index 25057b41..4c36ff16 100644 --- a/data-ipa-cfg-mgr/ipacm/src/IPACM_Main.cpp +++ b/data-ipa-cfg-mgr/ipacm/src/IPACM_Main.cpp @@ -411,11 +411,12 @@ void* ipa_driver_msg_notifier(void *param) } memcpy(event_ex, buffer + sizeof(struct ipa_msg_meta), length); data_ex = (ipacm_event_data_wlan_ex *)malloc(sizeof(ipacm_event_data_wlan_ex) + event_ex_o.num_of_attribs * sizeof(ipa_wlan_hdr_attrib_val)); - if (data_ex == NULL) - { + if (data_ex == NULL) + { IPACMERR("unable to allocate memory for event data\n"); - return NULL; - } + free(event_ex); + return NULL; + } data_ex->num_of_attribs = event_ex->num_of_attribs; memcpy(data_ex->attribs, diff --git a/data-ipa-cfg-mgr/ipacm/src/IPACM_Netlink.cpp b/data-ipa-cfg-mgr/ipacm/src/IPACM_Netlink.cpp index fa4b8b77..fa0f7acb 100644 --- a/data-ipa-cfg-mgr/ipacm/src/IPACM_Netlink.cpp +++ b/data-ipa-cfg-mgr/ipacm/src/IPACM_Netlink.cpp @@ -709,6 +709,7 @@ static int ipa_nl_decode_nlmsg if(ret_val != IPACM_SUCCESS) { IPACMERR("Error while getting interface name\n"); + free(data_fid); return IPACM_FAILURE; } IPACMDBG_H("Got a usb link_up event (Interface %s, %d) \n", dev_name, msg_ptr->nl_link_info.metainfo.ifi_index);