]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Pacify coverity (CID #1665209, #1665208, #1665207)
authorNick Porter <nick@portercomputing.co.uk>
Wed, 3 Sep 2025 09:53:14 +0000 (10:53 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Wed, 3 Sep 2025 10:32:32 +0000 (11:32 +0100)
Coverity doesn't follow that s_mac being wrapped in FR_DBUFF_TMP will be
populated by fr_base16_decode.

It also doesn't see that digest and mic will be populated by HMAC.

src/modules/rlm_dpsk/rlm_dpsk.c

index 48664b9b936365c4aa180a87acb279142a05f64e..1f80c6de46b7458c9866d1ff76961884ec32bc1e 100644 (file)
@@ -353,6 +353,12 @@ static unlang_action_t CC_HINT(nonnull) mod_authenticate(unlang_result_t *p_resu
         *      update the database with the PSK which was found.
         */
 
+#ifdef __COVERITY__
+       /*
+        * Coverity doesn't see that fr_base16_decode will populate s_mac
+        */
+       memset(s_mac, 0, 6);
+#endif
        /*
         *      Get supplicant MAC address from the User-Name
         */
@@ -598,6 +604,12 @@ stage2a:
         */
 make_digest:
        digest_len = sizeof(digest);
+#ifdef __COVERITY__
+       /*
+        * Coverity doesn't see that HMAC will populate digest
+        */
+       memset(digest, 0, digest_len);
+#endif
        HMAC(EVP_sha1(), pmk, sizeof(pmk), message, sizeof(message), digest, &digest_len);
 
        RHEXDUMP3(message, sizeof(message), "message:");
@@ -614,6 +626,12 @@ make_digest:
        RHEXDUMP3(frame, env->key_msg.vb_length, "zeroed:");
 
        mic_len = sizeof(mic);
+#ifdef __COVERITY__
+       /*
+        * Coverity doesn't see that HMAC will populate mic
+        */
+       memset(mic, 0, mic_len);
+#endif
        HMAC(EVP_sha1(), digest, 16, frame, env->key_msg.vb_length, mic, &mic_len);
 
        /*