providers/common/digests/sha2.c: forward declare all dispatched functions
authorRichard Levitte <levitte@openssl.org>
Mon, 15 Apr 2019 07:40:22 +0000 (09:40 +0200)
committerRichard Levitte <levitte@openssl.org>
Mon, 15 Apr 2019 08:46:09 +0000 (10:46 +0200)
Forward declare the dispatched functions using typedefs from
core_numbers.h.  This will ensure that they have correct signatures.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8747)

providers/common/digests/sha2.c

index fb2bd95f5235a5af8d484f9d0c88ee5c7209304c..3698046f206c3501222f4877b292da3706add176 100644 (file)
 #include <openssl/crypto.h>
 #include <openssl/core_numbers.h>
 
+/*
+ * Forward declaration of everything implemented here.  This is not strictly
+ * necessary for the compiler, but provides an assurance that the signatures
+ * of the functions in the dispatch table are correct.
+ */
+static OSSL_OP_digest_newctx_fn sha256_newctx;
+#if 0                           /* Not defined here */
+static OSSL_OP_digest_init_fn sha256_init;
+static OSSL_OP_digest_update_fn sha256_update;
+#endif
+static OSSL_OP_digest_final_fn sha256_final;
+static OSSL_OP_digest_freectx_fn sha256_freectx;
+static OSSL_OP_digest_dupctx_fn sha256_dupctx;
+static OSSL_OP_digest_size_fn sha256_size;
+static OSSL_OP_digest_block_size_fn sha256_size;
+
 static int sha256_final(void *ctx,
                         unsigned char *md, size_t *mdl, size_t mdsz)
 {