I pushed a tiny patch to fix this warning I noticed when compiling
coreutils, which enables this option in ./configure:

    lib/sha3.c: In function 'sha3_read_ctx':
    lib/sha3.c:381:52: warning: zero as null pointer constant 
[-Wzero-as-null-pointer-constant]
      381 |           if (EVP_DigestFinal_ex (evp_ctx, resbuf, 0))
          |                                                    ^

This warning has to be enabled explicitly so it is no big deal:

    $ cat main.c 
    int
    main (void)
    {
      char *p = 0;
      return !! p;
    }
    $ gcc -Wall -Wextra main.c
    $ gcc -Wall -Wextra -Wzero-as-null-pointer-constant main.c
    main.c: In function ‘main’:
    main.c:4:13: warning: zero as null pointer constant 
[-Wzero-as-null-pointer-constant]
        4 |   char *p = 0;
          |             ^

But I assume my dislike of using zeros as pointers is uncontroversial.

Collin

>From bf39aa4dceb50937f8b7a24b4b8785868d4c67b2 Mon Sep 17 00:00:00 2001
Message-ID: <bf39aa4dceb50937f8b7a24b4b8785868d4c67b2.1771911389.git.collin.fu...@gmail.com>
From: Collin Funk <[email protected]>
Date: Mon, 23 Feb 2026 21:32:25 -0800
Subject: [PATCH] crypto/sha3: Silence -Wzero-as-null-pointer-constant warning.

* lib/sha3.c (sha3_read_ctx): Use NULL for the pointer argument.
---
 ChangeLog  | 5 +++++
 lib/sha3.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 0de1d91617..766682bec3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2026-02-23  Collin Funk  <[email protected]>
+
+	crypto/sha3: Silence -Wzero-as-null-pointer-constant warning.
+	* lib/sha3.c (sha3_read_ctx): Use NULL for the pointer argument.
+
 2026-02-23  Alejandro Colomar  <[email protected]>
 
 	Use strnul in a few places.
diff --git a/lib/sha3.c b/lib/sha3.c
index 1bebbc7695..e7cb5ab549 100644
--- a/lib/sha3.c
+++ b/lib/sha3.c
@@ -378,7 +378,7 @@ sha3_read_ctx (struct sha3_ctx const *restrict ctx, void *restrict resbuf)
     {
       if (EVP_MD_CTX_copy_ex (evp_ctx, ctx->evp_ctx))
         {
-          if (EVP_DigestFinal_ex (evp_ctx, resbuf, 0))
+          if (EVP_DigestFinal_ex (evp_ctx, resbuf, NULL))
             result = resbuf;
           err = EINVAL;
         }
-- 
2.53.0

Reply via email to