diff mbox series

[ovs-dev,3/5] dpctl: Fix Clang's static analyzer 'garbage value' warnings.

Message ID 20240516193700.212737-4-mkp@redhat.com
State Changes Requested
Headers show
Series clang: Fix Clang's static analyzer detections. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/intel-ovs-compilation success test: success

Commit Message

Mike Pattrick May 16, 2024, 7:36 p.m. UTC
Clang's static analyzer will complain about an uninitialized value
because we weren't setting a value for ufid_generated in all code paths.

Now we initialize this on declaration.

Signed-off-by: Mike Pattrick <mkp@redhat.com>
---
 lib/dpctl.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Ilya Maximets May 17, 2024, 8:22 p.m. UTC | #1
On 5/16/24 21:36, Mike Pattrick wrote:
> Clang's static analyzer will complain about an uninitialized value
> because we weren't setting a value for ufid_generated in all code paths.
> 
> Now we initialize this on declaration.
> 
> Signed-off-by: Mike Pattrick <mkp@redhat.com>
> ---

Same comments for the subject line.
Also needs a Fixes tag.

>  lib/dpctl.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/dpctl.c b/lib/dpctl.c
> index 3c555a559..9c287d060 100644
> --- a/lib/dpctl.c
> +++ b/lib/dpctl.c
> @@ -1366,12 +1366,11 @@ dpctl_del_flow_dpif(struct dpif *dpif, const char *key_s,
>      struct ofpbuf mask; /* To be ignored. */
>  
>      ovs_u128 ufid;
> -    bool ufid_generated;
> -    bool ufid_present;
> +    bool ufid_generated = false;
> +    bool ufid_present = false;

Maybe move these above the 'ufid' for the sake of a reverse x-mass.
And move the 'ufid' below the port names.

>      struct simap port_names;
>      int n, error;
>  
> -    ufid_present = false;
>      n = odp_ufid_from_string(key_s, &ufid);
>      if (n < 0) {
>          dpctl_error(dpctl_p, -n, "parsing flow ufid");
diff mbox series

Patch

diff --git a/lib/dpctl.c b/lib/dpctl.c
index 3c555a559..9c287d060 100644
--- a/lib/dpctl.c
+++ b/lib/dpctl.c
@@ -1366,12 +1366,11 @@  dpctl_del_flow_dpif(struct dpif *dpif, const char *key_s,
     struct ofpbuf mask; /* To be ignored. */
 
     ovs_u128 ufid;
-    bool ufid_generated;
-    bool ufid_present;
+    bool ufid_generated = false;
+    bool ufid_present = false;
     struct simap port_names;
     int n, error;
 
-    ufid_present = false;
     n = odp_ufid_from_string(key_s, &ufid);
     if (n < 0) {
         dpctl_error(dpctl_p, -n, "parsing flow ufid");