From: James Jones Date: Sat, 6 Aug 2022 15:20:45 +0000 (-0500) Subject: Annotate false positives of using uninitalized variables (CIDs below) (#4653) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f94caa12cc235f58ea48c710e94f877e83a8cae5;p=thirdparty%2Ffreeradius-server.git Annotate false positives of using uninitalized variables (CIDs below) (#4653) CIDs: #1503917, #1503948, #1503959, #1503989 After the smoke clears, it turns out that (a == &one) is true iff one was initialized and (b == &two) is true iff two was initialized, so they're passed to fr_value_box_clear_value() iff it makes sense. --- diff --git a/src/lib/util/calc.c b/src/lib/util/calc.c index 57993f42d05..890111b6b68 100644 --- a/src/lib/util/calc.c +++ b/src/lib/util/calc.c @@ -919,7 +919,9 @@ static int calc_octets(TALLOC_CTX *ctx, fr_value_box_t *dst, fr_value_box_t cons return ERR_INVALID; /* invalid operator */ } + /* coverity[uninit_use_in_call] */ if (a == &one) fr_value_box_clear_value(&one); + /* coverity[uninit_use_in_call] */ if (b == &two) fr_value_box_clear_value(&two); return 0; @@ -1019,7 +1021,9 @@ static int calc_string(TALLOC_CTX *ctx, fr_value_box_t *dst, fr_value_box_t cons return ERR_INVALID; /* invalid operator */ } + /* coverity[uninit_use_in_call] */ if (a == &one) fr_value_box_clear_value(&one); + /* coverity[uninit_use_in_call] */ if (b == &two) fr_value_box_clear_value(&two); return 0;