From: Klement Sekera <ksekera@cisco.com>
Date: Thu, 14 Oct 2021 13:41:42 +0000 (+0200)
Subject: pppoe: fix coverity warning
X-Git-Tag: v22.06-rc0~388
X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F07%2F34107%2F2;p=vpp.git

pppoe: fix coverity warning

Initialise variable used in tracing code in case of early error so that
tracing doesn't use this uninitialised variable.

Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I6b1cef07e1f126cee56e1116606869dd667274d2
---

diff --git a/src/plugins/pppoe/pppoe_decap.c b/src/plugins/pppoe/pppoe_decap.c
index 71b9874081e..fe83c3a2c54 100644
--- a/src/plugins/pppoe/pppoe_decap.c
+++ b/src/plugins/pppoe/pppoe_decap.c
@@ -133,8 +133,10 @@ VLIB_NODE_FN (pppoe_input_node) (vlib_main_t * vm,
 			  pppoe0 = (pppoe_header_t*)(vlan0+1);
 			  if( type0 != ETHERNET_TYPE_PPPOE_DISCOVERY && type0 != ETHERNET_TYPE_PPPOE_SESSION ) {
 				error0 = PPPOE_ERROR_BAD_VER_TYPE;
-	      		next0 = PPPOE_INPUT_NEXT_DROP;
-	      		goto trace0;
+				result0.fields.session_index =
+				  ~0; // avoid tracing random data
+				next0 = PPPOE_INPUT_NEXT_DROP;
+				goto trace0;
 			  }
 		  } else {
 			  pppoe0 = (pppoe_header_t*)(h0+1);
@@ -228,8 +230,10 @@ VLIB_NODE_FN (pppoe_input_node) (vlib_main_t * vm,
 			  pppoe1 = (pppoe_header_t*)(vlan1+1);
 			  if( type1 != ETHERNET_TYPE_PPPOE_DISCOVERY && type1 != ETHERNET_TYPE_PPPOE_SESSION ) {
 				error1 = PPPOE_ERROR_BAD_VER_TYPE;
-	      		next1 = PPPOE_INPUT_NEXT_DROP;
-	      		goto trace1;
+				result1.fields.session_index =
+				  ~0; // avoid tracing random data
+				next1 = PPPOE_INPUT_NEXT_DROP;
+				goto trace1;
 			  }
 		  } else {
 			  pppoe1 = (pppoe_header_t*)(h1+1);
@@ -354,8 +358,10 @@ VLIB_NODE_FN (pppoe_input_node) (vlib_main_t * vm,
 			  pppoe0 = (pppoe_header_t*)(vlan0+1);
 			  if( type0 != ETHERNET_TYPE_PPPOE_DISCOVERY && type0 != ETHERNET_TYPE_PPPOE_SESSION ) {
 				error0 = PPPOE_ERROR_BAD_VER_TYPE;
-	      		next0 = PPPOE_INPUT_NEXT_DROP;
-	      		goto trace00;
+				result0.fields.session_index =
+				  ~0; // avoid tracing random data
+				next0 = PPPOE_INPUT_NEXT_DROP;
+				goto trace00;
 			  }
 		  } else {
 			  pppoe0 = (pppoe_header_t*)(h0+1);