]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Annotate Coverity false positive for the parse-only case (CID #1604604)
authorJames Jones <jejones3141@gmail.com>
Mon, 1 Jul 2024 14:46:44 +0000 (09:46 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 10 Sep 2024 18:28:04 +0000 (12:28 -0600)
out is assigned NULL, and for the parse-only case stays that way. Then
call_env_result() is called, which doesn't dereference out in the
parse-only case, but Coverity doesn't realize it and hence complains.

src/lib/unlang/call_env.c

index 4cc75f4c0b49d84874672b27697e0a526fbf511a..71df113c535c5731fb3b00849e55bc712498cd13 100644 (file)
@@ -268,6 +268,7 @@ static unlang_action_t call_env_expand_repeat(UNUSED rlm_rcode_t *p_result, UNUS
 parse_only:
        if (env->rule->pair.parsed.offset >= 0) tmpl_out = ((uint8_t *)*call_env_rctx->data) + env->rule->pair.parsed.offset;
 
+       /* coverity[var_deref_model] */
        result = call_env_result(*call_env_rctx->data, request, out, tmpl_out, env, &call_env_rctx->tmpl_expanded);
        if (result != CALL_ENV_SUCCESS) {
                if (call_env_rctx->result) *call_env_rctx->result = result;