Skip to content

Commit 8f13f8e

Browse files
kcudnikShu0T1an ChenG
authored and
Shu0T1an ChenG
committed
[Make]: Fix type conversions and add more warnings (sonic-net#267)
1 parent 06309b6 commit 8f13f8e

17 files changed

+131
-99
lines changed

configure.ac

+34
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,40 @@ AM_CONDITIONAL(GTEST, test x$gtest = xtrue)
4141
CFLAGS_COMMON="-std=c++11 -Wall -fPIC -Wno-write-strings -I/usr/include/libnl3 -I/usr/include/swss"
4242
CFLAGS_COMMON+=" -Werror"
4343
CFLAGS_COMMON+=" -Wno-reorder"
44+
CFLAGS_COMMON+=" -Wcast-align"
45+
CFLAGS_COMMON+=" -Wcast-qual"
46+
CFLAGS_COMMON+=" -Wconversion"
47+
CFLAGS_COMMON+=" -Wdisabled-optimization"
48+
CFLAGS_COMMON+=" -Wextra"
49+
CFLAGS_COMMON+=" -Wfloat-equal"
50+
CFLAGS_COMMON+=" -Wformat=2"
51+
CFLAGS_COMMON+=" -Wformat-nonliteral"
52+
CFLAGS_COMMON+=" -Wformat-security"
53+
CFLAGS_COMMON+=" -Wformat-y2k"
54+
CFLAGS_COMMON+=" -Wimport"
55+
CFLAGS_COMMON+=" -Winit-self"
56+
CFLAGS_COMMON+=" -Winvalid-pch"
57+
CFLAGS_COMMON+=" -Wlong-long"
58+
CFLAGS_COMMON+=" -Wmissing-field-initializers"
59+
CFLAGS_COMMON+=" -Wmissing-format-attribute"
60+
CFLAGS_COMMON+=" -Wno-aggregate-return"
61+
CFLAGS_COMMON+=" -Wno-padded"
62+
CFLAGS_COMMON+=" -Wno-switch-enum"
63+
CFLAGS_COMMON+=" -Wno-unused-parameter"
64+
CFLAGS_COMMON+=" -Wpacked"
65+
CFLAGS_COMMON+=" -Wpointer-arith"
66+
CFLAGS_COMMON+=" -Wredundant-decls"
67+
CFLAGS_COMMON+=" -Wstack-protector"
68+
CFLAGS_COMMON+=" -Wstrict-aliasing=3"
69+
CFLAGS_COMMON+=" -Wswitch"
70+
CFLAGS_COMMON+=" -Wswitch-default"
71+
CFLAGS_COMMON+=" -Wunreachable-code"
72+
CFLAGS_COMMON+=" -Wunused"
73+
CFLAGS_COMMON+=" -Wvariadic-macros"
74+
CFLAGS_COMMON+=" -Wno-switch-default"
75+
CFLAGS_COMMON+=" -Wno-long-long"
76+
CFLAGS_COMMON+=" -Wno-redundant-decls"
77+
4478
AC_SUBST(CFLAGS_COMMON)
4579

4680
AC_CONFIG_FILES([

fpmsyncd/fpmlink.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ void FpmLink::readMe()
109109
throw FpmConnectionClosedException();
110110
if (read < 0)
111111
throw system_error(errno, system_category());
112-
m_pos+= read;
112+
m_pos+= (uint32_t)read;
113113

114114
/* Check for complete messages */
115115
while (true)
@@ -140,5 +140,5 @@ void FpmLink::readMe()
140140
}
141141

142142
memmove(m_messageBuffer, m_messageBuffer + start, m_pos - start);
143-
m_pos = m_pos - start;
143+
m_pos = m_pos - (uint32_t)start;
144144
}

orchagent/aclorch.cpp

+15-16
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ bool AclRule::validateAddPriority(string attr_name, string attr_value)
109109
{
110110
char *endp = NULL;
111111
errno = 0;
112-
m_priority = strtol(attr_value.c_str(), &endp, 0);
112+
m_priority = (uint32_t)strtol(attr_value.c_str(), &endp, 0);
113113
// chack conversion was successfull and the value is within the allowed range
114114
status = (errno == 0) &&
115115
(endp == attr_value.c_str() + attr_value.size()) &&
@@ -161,23 +161,23 @@ bool AclRule::validateAddMatch(string attr_name, string attr_value)
161161
flags = trim(flagsData[0]);
162162
mask = trim(flagsData[1]);
163163

164-
val = strtol(flags.c_str(), &endp, 0);
164+
val = (uint32_t)strtol(flags.c_str(), &endp, 0);
165165
if (errno || (endp != flags.c_str() + flags.size()) ||
166166
(val < 0) || (val > UCHAR_MAX))
167167
{
168168
SWSS_LOG_ERROR("TCP flags parse error, value: %s(=%d), errno: %d", flags.c_str(), val, errno);
169169
return false;
170170
}
171-
value.aclfield.data.u8 = val;
171+
value.aclfield.data.u8 = (uint8_t)val;
172172

173-
val = strtol(mask.c_str(), &endp, 0);
173+
val = (uint32_t)strtol(mask.c_str(), &endp, 0);
174174
if (errno || (endp != mask.c_str() + mask.size()) ||
175175
(val < 0) || (val > UCHAR_MAX))
176176
{
177177
SWSS_LOG_ERROR("TCP mask parse error, value: %s(=%d), errno: %d", mask.c_str(), val, errno);
178178
return false;
179179
}
180-
value.aclfield.mask.u8 = val;
180+
value.aclfield.mask.u8 = (uint8_t)val;
181181
}
182182
else if(attr_name == MATCH_ETHER_TYPE || attr_name == MATCH_L4_SRC_PORT || attr_name == MATCH_L4_DST_PORT)
183183
{
@@ -344,7 +344,7 @@ bool AclRule::create()
344344
rule_attrs.push_back(attr);
345345
}
346346

347-
status = sai_acl_api->create_acl_entry(&m_ruleOid, gSwitchId, rule_attrs.size(), rule_attrs.data());
347+
status = sai_acl_api->create_acl_entry(&m_ruleOid, gSwitchId, (uint32_t)rule_attrs.size(), rule_attrs.data());
348348
if (status != SAI_STATUS_SUCCESS)
349349
{
350350
SWSS_LOG_ERROR("Failed to create ACL rule");
@@ -483,7 +483,7 @@ bool AclRule::createCounter()
483483
attr.value.booldata = true;
484484
counter_attrs.push_back(attr);
485485

486-
if (sai_acl_api->create_acl_counter(&m_counterOid, gSwitchId, counter_attrs.size(), counter_attrs.data()) != SAI_STATUS_SUCCESS)
486+
if (sai_acl_api->create_acl_counter(&m_counterOid, gSwitchId, (uint32_t)counter_attrs.size(), counter_attrs.data()) != SAI_STATUS_SUCCESS)
487487
{
488488
SWSS_LOG_ERROR("Failed to create counter for the rule %s in table %s", m_id.c_str(), m_tableId.c_str());
489489
return false;
@@ -891,7 +891,7 @@ AclRange *AclRange::create(sai_acl_range_type_t type, int min, int max)
891891
attr.value.u32range.max = max;
892892
range_attrs.push_back(attr);
893893

894-
status = sai_acl_api->create_acl_range(&range_oid, gSwitchId, range_attrs.size(), range_attrs.data());
894+
status = sai_acl_api->create_acl_range(&range_oid, gSwitchId, (uint32_t)range_attrs.size(), range_attrs.data());
895895
if (status != SAI_STATUS_SUCCESS)
896896
{
897897
SWSS_LOG_ERROR("Failed to create range object");
@@ -985,14 +985,13 @@ AclOrch::AclOrch(DBConnector *db, vector<string> tableNames, PortsOrch *portOrch
985985
{
986986
SWSS_LOG_ENTER();
987987

988-
sai_attribute_t attrs[] =
989-
{
990-
{ SAI_SWITCH_ATTR_ACL_ENTRY_MINIMUM_PRIORITY },
991-
{ SAI_SWITCH_ATTR_ACL_ENTRY_MAXIMUM_PRIORITY }
992-
};
988+
sai_attribute_t attrs[2];
989+
990+
attrs[0].id = SAI_SWITCH_ATTR_ACL_ENTRY_MINIMUM_PRIORITY;
991+
attrs[1].id = SAI_SWITCH_ATTR_ACL_ENTRY_MAXIMUM_PRIORITY;
993992

994993
// get min/max allowed priority
995-
if (sai_switch_api->get_switch_attribute(gSwitchId, sizeof(attrs)/sizeof(attrs[0]), attrs) == SAI_STATUS_SUCCESS)
994+
if (sai_switch_api->get_switch_attribute(gSwitchId, 2, attrs) == SAI_STATUS_SUCCESS)
996995
{
997996
SWSS_LOG_INFO("Got ACL entry priority values, min: %u, max: %u", attrs[0].value.u32, attrs[1].value.u32);
998997
AclRule::setRulePriorities(attrs[0].value.u32, attrs[1].value.u32);
@@ -1454,11 +1453,11 @@ sai_status_t AclOrch::createBindAclTable(AclTable &aclTable, sai_object_id_t &ta
14541453
}
14551454

14561455
attr.id = SAI_ACL_TABLE_ATTR_FIELD_ACL_RANGE_TYPE;
1457-
attr.value.s32list.count = sizeof(range_types_list) / sizeof(range_types_list[0]);
1456+
attr.value.s32list.count = (uint32_t)(sizeof(range_types_list) / sizeof(range_types_list[0]));
14581457
attr.value.s32list.list = range_types_list;
14591458
table_attrs.push_back(attr);
14601459

1461-
status = sai_acl_api->create_acl_table(&table_oid, gSwitchId, table_attrs.size(), table_attrs.data());
1460+
status = sai_acl_api->create_acl_table(&table_oid, gSwitchId, (uint32_t)table_attrs.size(), table_attrs.data());
14621461

14631462
if (status == SAI_STATUS_SUCCESS)
14641463
{

orchagent/bufferorch.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ task_process_status BufferOrch::processBufferPool(Consumer &consumer)
7070
if (fvField(*i) == buffer_size_field_name)
7171
{
7272
attr.id = SAI_BUFFER_POOL_ATTR_SIZE;
73-
attr.value.u32 = stoul(fvValue(*i));
73+
attr.value.u32 = (uint32_t)stoul(fvValue(*i));
7474
attribs.push_back(attr);
7575
}
7676
else if (fvField(*i) == buffer_pool_type_field_name)
@@ -129,7 +129,7 @@ task_process_status BufferOrch::processBufferPool(Consumer &consumer)
129129
}
130130
else
131131
{
132-
sai_status = sai_buffer_api->create_buffer_pool(&sai_object, gSwitchId, attribs.size(), attribs.data());
132+
sai_status = sai_buffer_api->create_buffer_pool(&sai_object, gSwitchId, (uint32_t)attribs.size(), attribs.data());
133133
if (SAI_STATUS_SUCCESS != sai_status)
134134
{
135135
SWSS_LOG_ERROR("Failed to create buffer pool %s with type %s, rv:%d", object_name.c_str(), map_type_name.c_str(), sai_status);
@@ -204,32 +204,32 @@ task_process_status BufferOrch::processBufferProfile(Consumer &consumer)
204204
}
205205
else if (fvField(*i) == buffer_xon_field_name)
206206
{
207-
attr.value.u32 = stoul(fvValue(*i));
207+
attr.value.u32 = (uint32_t)stoul(fvValue(*i));
208208
attr.id = SAI_BUFFER_PROFILE_ATTR_XON_TH;
209209
attribs.push_back(attr);
210210
}
211211
else if (fvField(*i) == buffer_xoff_field_name)
212212
{
213-
attr.value.u32 = stoul(fvValue(*i));
213+
attr.value.u32 = (uint32_t)stoul(fvValue(*i));
214214
attr.id = SAI_BUFFER_PROFILE_ATTR_XOFF_TH;
215215
attribs.push_back(attr);
216216
}
217217
else if (fvField(*i) == buffer_size_field_name)
218218
{
219219
attr.id = SAI_BUFFER_PROFILE_ATTR_BUFFER_SIZE;
220-
attr.value.u32 = stoul(fvValue(*i));
220+
attr.value.u32 = (uint32_t)stoul(fvValue(*i));
221221
attribs.push_back(attr);
222222
}
223223
else if (fvField(*i) == buffer_dynamic_th_field_name)
224224
{
225225
attr.id = SAI_BUFFER_PROFILE_ATTR_SHARED_DYNAMIC_TH;
226-
attr.value.u32 = stoul(fvValue(*i));
226+
attr.value.u32 = (uint32_t)stoul(fvValue(*i));
227227
attribs.push_back(attr);
228228
}
229229
else if (fvField(*i) == buffer_static_th_field_name)
230230
{
231231
attr.id = SAI_BUFFER_PROFILE_ATTR_SHARED_STATIC_TH;
232-
attr.value.u32 = stoul(fvValue(*i));
232+
attr.value.u32 = (uint32_t)stoul(fvValue(*i));
233233
attribs.push_back(attr);
234234
}
235235
else
@@ -250,7 +250,7 @@ task_process_status BufferOrch::processBufferProfile(Consumer &consumer)
250250
}
251251
else
252252
{
253-
sai_status = sai_buffer_api->create_buffer_profile(&sai_object, gSwitchId, attribs.size(), attribs.data());
253+
sai_status = sai_buffer_api->create_buffer_profile(&sai_object, gSwitchId, (uint32_t)attribs.size(), attribs.data());
254254
if (SAI_STATUS_SUCCESS != sai_status)
255255
{
256256
SWSS_LOG_ERROR("Failed to create buffer profile %s with type %s, rv:%d", object_name.c_str(), map_type_name.c_str(), sai_status);
@@ -456,7 +456,7 @@ task_process_status BufferOrch::processIngressBufferProfileList(Consumer &consum
456456
}
457457
sai_attribute_t attr;
458458
attr.id = SAI_PORT_ATTR_QOS_INGRESS_BUFFER_PROFILE_LIST;
459-
attr.value.objlist.count = profile_list.size();
459+
attr.value.objlist.count = (uint32_t)profile_list.size();
460460
attr.value.objlist.list = profile_list.data();
461461
for (string port_name : port_names)
462462
{
@@ -502,7 +502,7 @@ task_process_status BufferOrch::processEgressBufferProfileList(Consumer &consume
502502
}
503503
sai_attribute_t attr;
504504
attr.id = SAI_PORT_ATTR_QOS_EGRESS_BUFFER_PROFILE_LIST;
505-
attr.value.objlist.count = profile_list.size();
505+
attr.value.objlist.count = (uint32_t)profile_list.size();
506506
attr.value.objlist.list = profile_list.data();
507507
for (string port_name : port_names)
508508
{

orchagent/copporch.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ void CoppOrch::initDefaultHostTable()
109109
sai_if_channel_attrs.push_back(sai_if_channel_attr);
110110

111111
sai_status_t status = sai_hostif_api->create_hostif_table_entry(
112-
&host_table_entry[0], gSwitchId, sai_if_channel_attrs.size(), sai_if_channel_attrs.data());
112+
&host_table_entry[0], gSwitchId, (uint32_t)sai_if_channel_attrs.size(), sai_if_channel_attrs.data());
113113
if (status != SAI_STATUS_SUCCESS)
114114
{
115115
SWSS_LOG_ERROR("Failed to create hostif table entry, rc=%d", status);
@@ -189,7 +189,7 @@ bool CoppOrch::applyAttributesToTrapIds(sai_object_id_t trap_group_id,
189189
attrs.insert(attrs.end(), trap_id_attribs.begin(), trap_id_attribs.end());
190190

191191
sai_object_id_t hostif_trap_id;
192-
status = sai_hostif_api->create_hostif_trap(&hostif_trap_id, gSwitchId, attrs.size(), attrs.data());
192+
status = sai_hostif_api->create_hostif_trap(&hostif_trap_id, gSwitchId, (uint32_t)attrs.size(), attrs.data());
193193
if (status != SAI_STATUS_SUCCESS)
194194
{
195195
SWSS_LOG_ERROR("Failed to create trap %d, rc=%d", trap_id, status);
@@ -300,7 +300,7 @@ bool CoppOrch::createPolicer(string trap_group_name, vector<sai_attribute_t> &po
300300
sai_object_id_t policer_id;
301301
sai_status_t sai_status;
302302

303-
sai_status = sai_policer_api->create_policer(&policer_id, gSwitchId, policer_attribs.size(), policer_attribs.data());
303+
sai_status = sai_policer_api->create_policer(&policer_id, gSwitchId, (uint32_t)policer_attribs.size(), policer_attribs.data());
304304
if (sai_status != SAI_STATUS_SUCCESS)
305305
{
306306
SWSS_LOG_ERROR("Failed to create policer trap group %s, rc=%d", trap_group_name.c_str(), sai_status);
@@ -356,7 +356,7 @@ task_process_status CoppOrch::processCoppRule(Consumer& consumer)
356356
queue_ind = fvValue(*i);
357357
SWSS_LOG_DEBUG("queue data:%s", queue_ind.c_str());
358358
attr.id = SAI_HOSTIF_TRAP_GROUP_ATTR_QUEUE;
359-
attr.value.u32 = stoul(queue_ind);
359+
attr.value.u32 = (uint32_t)stoul(queue_ind);
360360
trap_gr_attribs.push_back(attr);
361361
}
362362
//
@@ -507,7 +507,7 @@ task_process_status CoppOrch::processCoppRule(Consumer& consumer)
507507
{
508508
sai_object_id_t new_trap;
509509

510-
sai_status = sai_hostif_api->create_hostif_trap_group(&new_trap, gSwitchId, trap_gr_attribs.size(), trap_gr_attribs.data());
510+
sai_status = sai_hostif_api->create_hostif_trap_group(&new_trap, gSwitchId, (uint32_t)trap_gr_attribs.size(), trap_gr_attribs.data());
511511
if (sai_status != SAI_STATUS_SUCCESS)
512512
{
513513
SWSS_LOG_ERROR("Failed to create host interface trap group %s, rc=%d", trap_group_name.c_str(), sai_status);

orchagent/fdborch.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ bool FdbOrch::addFdbEntry(const FdbEntry& entry, const string& port_name, const
207207
attr.value.s32 = SAI_PACKET_ACTION_FORWARD;
208208
attrs.push_back(attr);
209209

210-
status = sai_fdb_api->create_fdb_entry(&fdb_entry, attrs.size(), attrs.data());
210+
status = sai_fdb_api->create_fdb_entry(&fdb_entry, (uint32_t)attrs.size(), attrs.data());
211211
if (status != SAI_STATUS_SUCCESS)
212212
{
213213
SWSS_LOG_ERROR("Failed to add FDB entry. mac=%s, vlan=%d. port_name %s. type %s",

orchagent/intfsorch.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ bool IntfsOrch::addRouterIntfs(Port &port)
254254
}
255255
attrs.push_back(attr);
256256

257-
sai_status_t status = sai_router_intfs_api->create_router_interface(&port.m_rif_id, gSwitchId, attrs.size(), attrs.data());
257+
sai_status_t status = sai_router_intfs_api->create_router_interface(&port.m_rif_id, gSwitchId, (uint32_t)attrs.size(), attrs.data());
258258
if (status != SAI_STATUS_SUCCESS)
259259
{
260260
SWSS_LOG_ERROR("Failed to create router interface for port %s, rv:%d", port.m_alias.c_str(), status);
@@ -312,7 +312,7 @@ void IntfsOrch::addSubnetRoute(const Port &port, const IpPrefix &ip_prefix)
312312
attr.value.oid = port.m_rif_id;
313313
attrs.push_back(attr);
314314

315-
sai_status_t status = sai_route_api->create_route_entry(&unicast_route_entry, attrs.size(), attrs.data());
315+
sai_status_t status = sai_route_api->create_route_entry(&unicast_route_entry, (uint32_t)attrs.size(), attrs.data());
316316
if (status != SAI_STATUS_SUCCESS)
317317
{
318318
SWSS_LOG_ERROR("Failed to create subnet route to %s from %s, rv:%d",
@@ -367,7 +367,7 @@ void IntfsOrch::addIp2MeRoute(const IpPrefix &ip_prefix)
367367
attr.value.oid = cpu_port.m_port_id;
368368
attrs.push_back(attr);
369369

370-
sai_status_t status = sai_route_api->create_route_entry(&unicast_route_entry, attrs.size(), attrs.data());
370+
sai_status_t status = sai_route_api->create_route_entry(&unicast_route_entry, (uint32_t)attrs.size(), attrs.data());
371371
if (status != SAI_STATUS_SUCCESS)
372372
{
373373
SWSS_LOG_ERROR("Failed to create IP2me route ip:%s, rv:%d", ip_prefix.getIp().to_string().c_str(), status);

orchagent/main.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ int main(int argc, char **argv)
175175
attrs.push_back(attr);
176176
}
177177

178-
status = sai_switch_api->create_switch(&gSwitchId, attrs.size(), attrs.data());
178+
status = sai_switch_api->create_switch(&gSwitchId, (uint32_t)attrs.size(), attrs.data());
179179
if (status != SAI_STATUS_SUCCESS)
180180
{
181181
SWSS_LOG_ERROR("Failed to create a switch, rv:%d", status);
@@ -224,7 +224,7 @@ int main(int argc, char **argv)
224224
underlay_intf_attr.value.s32 = SAI_ROUTER_INTERFACE_TYPE_LOOPBACK;
225225
underlay_intf_attrs.push_back(underlay_intf_attr);
226226

227-
status = sai_router_intfs_api->create_router_interface(&gUnderlayIfId, gSwitchId, underlay_intf_attrs.size(), underlay_intf_attrs.data());
227+
status = sai_router_intfs_api->create_router_interface(&gUnderlayIfId, gSwitchId, (uint32_t)underlay_intf_attrs.size(), underlay_intf_attrs.data());
228228
if (status != SAI_STATUS_SUCCESS)
229229
{
230230
SWSS_LOG_ERROR("Failed to create underlay router interface %d", status);

orchagent/mirrororch.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ bool MirrorOrch::activateSession(const string& name, MirrorEntry& session)
423423
// TOS value format is the following:
424424
// DSCP 6 bits | ECN 2 bits
425425
attr.id =SAI_MIRROR_SESSION_ATTR_TOS;
426-
attr.value.u16 = session.dscp << MIRROR_SESSION_DSCP_SHIFT;
426+
attr.value.u16 = (uint16_t)(session.dscp << MIRROR_SESSION_DSCP_SHIFT);
427427
attrs.push_back(attr);
428428

429429
attr.id =SAI_MIRROR_SESSION_ATTR_TTL;
@@ -452,7 +452,7 @@ bool MirrorOrch::activateSession(const string& name, MirrorEntry& session)
452452

453453
session.status = true;
454454

455-
status = sai_mirror_api->create_mirror_session(&session.sessionId, gSwitchId, attrs.size(), attrs.data());
455+
status = sai_mirror_api->create_mirror_session(&session.sessionId, gSwitchId, (uint32_t)attrs.size(), attrs.data());
456456
if (status != SAI_STATUS_SUCCESS)
457457
{
458458
SWSS_LOG_ERROR("Failed to activate mirroring session %s\n", name.c_str());

orchagent/neighorch.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ bool NeighOrch::addNextHop(IpAddress ipAddress, string alias)
4343
next_hop_attrs.push_back(next_hop_attr);
4444

4545
sai_object_id_t next_hop_id;
46-
sai_status_t status = sai_next_hop_api->create_next_hop(&next_hop_id, gSwitchId, next_hop_attrs.size(), next_hop_attrs.data());
46+
sai_status_t status = sai_next_hop_api->create_next_hop(&next_hop_id, gSwitchId, (uint32_t)next_hop_attrs.size(), next_hop_attrs.data());
4747
if (status != SAI_STATUS_SUCCESS)
4848
{
4949
SWSS_LOG_ERROR("Failed to create next hop %s on %s, rv:%d",

orchagent/orch.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -336,8 +336,8 @@ bool Orch::parseIndexRange(const string &input, sai_uint32_t &range_low, sai_uin
336336
SWSS_LOG_ERROR("malformed index range in:%s. Must contain 2 tokens\n", input.c_str());
337337
return false;
338338
}
339-
range_low = stoul(range_values[0]);
340-
range_high = stoul(range_values[1]);
339+
range_low = (uint32_t)stoul(range_values[0]);
340+
range_high = (uint32_t)stoul(range_values[1]);
341341
if (range_low >= range_high)
342342
{
343343
SWSS_LOG_ERROR("malformed index range in:%s. left value must be less than righ value.\n", input.c_str());
@@ -346,7 +346,7 @@ bool Orch::parseIndexRange(const string &input, sai_uint32_t &range_low, sai_uin
346346
}
347347
else
348348
{
349-
range_low = range_high = stoul(input);
349+
range_low = range_high = (uint32_t)stoul(input);
350350
}
351351
SWSS_LOG_DEBUG("resulting range:%d-%d", range_low, range_high);
352352
return true;

0 commit comments

Comments
 (0)