Skip to content

Commit 5264322

Browse files
author
Shuotian Cheng
authored
orchagent: Fixing memory leak by using vector (sonic-net#99)
1 parent 822fc0a commit 5264322

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

orchagent/portsorch.cpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,12 @@ PortsOrch::PortsOrch(DBConnector *db, vector<string> tableNames) :
6262
SWSS_LOG_NOTICE("Get port number : %d", m_portCount);
6363

6464
/* Get port list */
65-
sai_object_id_t *port_list = new sai_object_id_t[m_portCount];
65+
vector<sai_object_id_t> port_list;
66+
port_list.resize(m_portCount);
67+
6668
attr.id = SAI_SWITCH_ATTR_PORT_LIST;
67-
attr.value.objlist.count = m_portCount;
68-
attr.value.objlist.list = port_list;
69+
attr.value.objlist.count = port_list.size();
70+
attr.value.objlist.list = port_list.data();
6971

7072
status = sai_switch_api->get_switch_attribute(1, &attr);
7173
if (status != SAI_STATUS_SUCCESS)
@@ -120,10 +122,12 @@ PortsOrch::PortsOrch(DBConnector *db, vector<string> tableNames) :
120122
}
121123

122124
/* Get default VLAN member list */
123-
sai_object_id_t *vlan_member_list = new sai_object_id_t[m_portCount];
125+
vector<sai_object_id_t> vlan_member_list;
126+
vlan_member_list.resize(m_portCount);
127+
124128
attr.id = SAI_VLAN_ATTR_MEMBER_LIST;
125-
attr.value.objlist.count = m_portCount;
126-
attr.value.objlist.list = vlan_member_list;
129+
attr.value.objlist.count = vlan_member_list.size();
130+
attr.value.objlist.list = vlan_member_list.data();
127131

128132
status = sai_vlan_api->get_vlan_attribute(DEFAULT_VLAN_ID, 1, &attr);
129133
if (status != SAI_STATUS_SUCCESS)

0 commit comments

Comments
 (0)