diff options
author | Petri Savolainen <petri.savolainen@nokia.com> | 2019-06-26 13:41:15 +0300 |
---|---|---|
committer | Petri Savolainen <petri.savolainen@nokia.com> | 2019-07-01 13:45:09 +0300 |
commit | e9848f21aa601c6f37df574e8e3ce5da28ff58f7 (patch) | |
tree | 9e9c31822579e39b6db2cdb1340a5a8d58471612 | |
parent | 6b581d0633209527f2fb3f63fcd5a4986f5c0891 (diff) |
linux-gen: fix variable may be used uninitialized warnings
Fix compiler warning: "X may be used uninitialized in this
function". These warnings were found when building with link
time optimization (-flto flag).
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com>
-rw-r--r-- | platform/linux-generic/odp_ipsec.c | 2 | ||||
-rw-r--r-- | platform/linux-generic/odp_packet_io.c | 24 | ||||
-rw-r--r-- | platform/linux-generic/odp_schedule_scalable.c | 2 | ||||
-rw-r--r-- | platform/linux-generic/odp_traffic_mngr.c | 10 | ||||
-rw-r--r-- | platform/linux-generic/pktio/socket.c | 3 |
5 files changed, 29 insertions, 12 deletions
diff --git a/platform/linux-generic/odp_ipsec.c b/platform/linux-generic/odp_ipsec.c index 8430d707c..cd1baa51a 100644 --- a/platform/linux-generic/odp_ipsec.c +++ b/platform/linux-generic/odp_ipsec.c @@ -1876,7 +1876,7 @@ int odp_ipsec_out_inline(const odp_packet_t pkt_in[], int num_in, odp_pktout_queue_t pkqueue; if (odp_pktout_queue(inline_param[in_pkt].pktio, - &pkqueue, 1) < 0) { + &pkqueue, 1) <= 0) { status.error.alg = 1; goto err; } diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index 1bf0469e7..bb3c46a7b 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -1642,6 +1642,11 @@ int odp_pktin_event_queue(odp_pktio_t pktio, odp_queue_t queues[], int num) return -1; } + if (num < 0) { + ODP_DBG("Bad param: num %i\n", num); + return -1; + } + mode = entry->s.param.in_mode; if (mode == ODP_PKTIN_MODE_DISABLED) @@ -1653,8 +1658,11 @@ int odp_pktin_event_queue(odp_pktio_t pktio, odp_queue_t queues[], int num) num_queues = entry->s.num_in_queue; - if (queues && num > 0) { - for (i = 0; i < num && i < num_queues; i++) + if (queues) { + if (num_queues < num) + num = num_queues; + + for (i = 0; i < num; i++) queues[i] = entry->s.in_queue[i].queue; } @@ -1674,6 +1682,11 @@ int odp_pktin_queue(odp_pktio_t pktio, odp_pktin_queue_t queues[], int num) return -1; } + if (num < 0) { + ODP_DBG("Bad param: num %i\n", num); + return -1; + } + mode = entry->s.param.in_mode; if (mode == ODP_PKTIN_MODE_DISABLED) @@ -1684,8 +1697,11 @@ int odp_pktin_queue(odp_pktio_t pktio, odp_pktin_queue_t queues[], int num) num_queues = entry->s.num_in_queue; - if (queues && num > 0) { - for (i = 0; i < num && i < num_queues; i++) + if (queues) { + if (num_queues < num) + num = num_queues; + + for (i = 0; i < num; i++) queues[i] = entry->s.in_queue[i].pktin; } diff --git a/platform/linux-generic/odp_schedule_scalable.c b/platform/linux-generic/odp_schedule_scalable.c index d6d6d9ef6..a9e86cc56 100644 --- a/platform/linux-generic/odp_schedule_scalable.c +++ b/platform/linux-generic/odp_schedule_scalable.c @@ -777,7 +777,7 @@ static int poll_pktin(sched_elem_t *elem, odp_event_t ev[], int num_evts) /* For ordered queues only */ reorder_context_t *rctx; reorder_window_t *rwin = NULL; - uint32_t sn; + uint32_t sn = 0; uint32_t idx; if (is_ordered(elem)) { diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c index 23982dce0..19fdd7797 100644 --- a/platform/linux-generic/odp_traffic_mngr.c +++ b/platform/linux-generic/odp_traffic_mngr.c @@ -503,8 +503,8 @@ static void *tm_common_profile_create(const char *name, _odp_int_name_kind_t handle_kind; _odp_int_name_t name_tbl_id; tm_handle_t profile_handle; - uint32_t idx; void *object_ptr; + uint32_t idx = 0; /* Note that alloc_entry_in_tbl will zero out all of the memory that it * allocates, so an additional memset here is unnecessary. */ @@ -2052,8 +2052,8 @@ static void egress_vlan_marking(tm_vlan_marking_t *vlan_marking, _odp_vlanhdr_t vlan_hdr, *vlan_hdr_ptr; _odp_ethhdr_t *ether_hdr_ptr; odp_bool_t split_hdr; - uint32_t hdr_len; uint16_t old_tci, new_tci; + uint32_t hdr_len = 0; ether_hdr_ptr = odp_packet_l2_ptr(odp_pkt, &hdr_len); vlan_hdr_ptr = (_odp_vlanhdr_t *)(ether_hdr_ptr + 1); @@ -2091,8 +2091,9 @@ static void egress_ipv4_tos_marking(tm_tos_marking_t *tos_marking, { _odp_ipv4hdr_t ipv4_hdr, *ipv4_hdr_ptr; odp_bool_t split_hdr; - uint32_t hdr_len, l3_offset, old_chksum, ones_compl_sum, tos_diff; + uint32_t l3_offset, old_chksum, ones_compl_sum, tos_diff; uint8_t old_tos, new_tos, ecn; + uint32_t hdr_len = 0; l3_offset = odp_packet_l3_offset(odp_pkt); ipv4_hdr_ptr = odp_packet_l3_ptr(odp_pkt, &hdr_len); @@ -2157,8 +2158,9 @@ static void egress_ipv6_tc_marking(tm_tos_marking_t *tos_marking, { _odp_ipv6hdr_t ipv6_hdr, *ipv6_hdr_ptr; odp_bool_t split_hdr; - uint32_t hdr_len, old_ver_tc_flow, new_ver_tc_flow, l3_offset; + uint32_t old_ver_tc_flow, new_ver_tc_flow, l3_offset; uint8_t old_tc, new_tc, ecn; + uint32_t hdr_len = 0; l3_offset = odp_packet_l3_offset(odp_pkt); ipv6_hdr_ptr = odp_packet_l3_ptr(odp_pkt, &hdr_len); diff --git a/platform/linux-generic/pktio/socket.c b/platform/linux-generic/pktio/socket.c index cee97f2c4..cae838e83 100644 --- a/platform/linux-generic/pktio/socket.c +++ b/platform/linux-generic/pktio/socket.c @@ -442,10 +442,9 @@ static uint32_t _tx_pkt_to_iovec(odp_packet_t pkt, uint32_t pkt_len = odp_packet_len(pkt); uint32_t offset = 0; uint32_t iov_count = 0; + uint32_t seglen = 0; while (offset < pkt_len) { - uint32_t seglen; - iovecs[iov_count].iov_base = odp_packet_offset(pkt, offset, &seglen, NULL); iovecs[iov_count].iov_len = seglen; |