aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetri Savolainen <petri.savolainen@nokia.com>2019-06-26 13:41:15 +0300
committerPetri Savolainen <petri.savolainen@nokia.com>2019-07-01 13:45:09 +0300
commite9848f21aa601c6f37df574e8e3ce5da28ff58f7 (patch)
tree9e9c31822579e39b6db2cdb1340a5a8d58471612
parent6b581d0633209527f2fb3f63fcd5a4986f5c0891 (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.c2
-rw-r--r--platform/linux-generic/odp_packet_io.c24
-rw-r--r--platform/linux-generic/odp_schedule_scalable.c2
-rw-r--r--platform/linux-generic/odp_traffic_mngr.c10
-rw-r--r--platform/linux-generic/pktio/socket.c3
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;