Skip to content

verify_inner definition without declaration #1

@oerdnj

Description

@oerdnj

When embedding into other projects and the other projects have stricter C checks, this is needed to compile the source:

diff --git a/lib/dns/hawk/hawk_vrfy.c b/lib/dns/hawk/hawk_vrfy.c
index 928e2f44823..2014720a0a0 100644
--- a/lib/dns/hawk/hawk_vrfy.c
+++ b/lib/dns/hawk/hawk_vrfy.c
@@ -2906,6 +2906,12 @@ make_t1(unsigned logn, int16_t *d, const uint8_t *h1)
  */
 TARGET_AVX2_ONLY
 int
+Zh(verify_inner)(unsigned logn,
+        const void *restrict sig, size_t sig_len,
+        const shake_context *restrict sc_data,
+        const void *restrict pub, size_t pub_len,
+        void *restrict tmp, size_t tmp_len, void *restrict ss);
+int
 Zh(verify_inner)(unsigned logn,
        const void *restrict sig, size_t sig_len,
        const shake_context *restrict sc_data,

I do understand the rational for making this non-static, but either this needs declaration first or some magic to strip the static out of the file for tests - f.e. you can include the hawk_vrfy.c file directly (with #include "hawk_vrfy.c") from the tests and you will have access to the static symbols. The local symbols will trump the global symbols.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions