examples/ipsec-secgw: fix uninitialized memory access
authorVolodymyr Fialko <vfialko@marvell.com>
Fri, 25 Mar 2022 11:29:42 +0000 (12:29 +0100)
committerAkhil Goyal <gakhil@marvell.com>
Wed, 1 Jun 2022 14:26:34 +0000 (16:26 +0200)
rte_flow_validate and rte_flow_create not always initialize flow error.
Using error.message in some error cases will cause read from
uninitialized memory.

Fixes: 6738c0a9569 ("examples/ipsec-secgw: support flow director")
Cc: stable@dpdk.org
Signed-off-by: Volodymyr Fialko <vfialko@marvell.com>
Acked-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
examples/ipsec-secgw/flow.c
examples/ipsec-secgw/ipsec.c

index 1a1ec78..c217b9e 100644 (file)
@@ -214,7 +214,7 @@ flow_init_single(struct flow_rule_entry *rule)
        struct rte_flow_item pattern[MAX_RTE_FLOW_PATTERN] = {};
        struct rte_flow_action action[MAX_RTE_FLOW_ACTIONS] = {};
        struct rte_flow_attr attr = {};
-       struct rte_flow_error err;
+       struct rte_flow_error err = {};
        int ret;
 
        attr.egress = 0;
index 2d4a26c..b66ff2b 100644 (file)
@@ -496,7 +496,7 @@ int
 create_ipsec_esp_flow(struct ipsec_sa *sa)
 {
        int ret = 0;
-       struct rte_flow_error err;
+       struct rte_flow_error err = {};
        if (sa->direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS) {
                RTE_LOG(ERR, IPSEC,
                        "No Flow director rule for Egress traffic\n");