From: Timo Sirainen Date: Fri, 18 Nov 2016 23:57:40 +0000 (+0200) Subject: lib: Mark md4/md5/sha1/sha2 code with ATTR_UNSIGNED_WRAPS X-Git-Tag: 2.2.27~58 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5791bc28bff63f4a2794ba05fb647f7368ea8943;p=thirdparty%2Fdovecot%2Fcore.git lib: Mark md4/md5/sha1/sha2 code with ATTR_UNSIGNED_WRAPS --- diff --git a/src/lib/md4.c b/src/lib/md4.c index de59b38c81..72e2ff85d5 100644 --- a/src/lib/md4.c +++ b/src/lib/md4.c @@ -65,7 +65,7 @@ * This processes one or more 64-byte data blocks, but does NOT update * the bit counters. There're no alignment requirements. */ -static const void * ATTR_NOWARN_UNUSED_RESULT +static const void * ATTR_NOWARN_UNUSED_RESULT ATTR_UNSIGNED_WRAPS body(struct md4_context *ctx, const void *data, size_t size) { const unsigned char *ptr; diff --git a/src/lib/md5.c b/src/lib/md5.c index 4c34dd6ece..70cf171c67 100644 --- a/src/lib/md5.c +++ b/src/lib/md5.c @@ -66,7 +66,7 @@ * This processes one or more 64-byte data blocks, but does NOT update * the bit counters. There're no alignment requirements. */ -static const void * ATTR_NOWARN_UNUSED_RESULT +static const void * ATTR_NOWARN_UNUSED_RESULT ATTR_UNSIGNED_WRAPS body(struct md5_context *ctx, const void *data, size_t size) { const unsigned char *ptr; @@ -186,7 +186,8 @@ void md5_init(struct md5_context *ctx) memset(ctx->block, 0, sizeof(ctx->block)); } -void md5_update(struct md5_context *ctx, const void *data, size_t size) +void ATTR_UNSIGNED_WRAPS +md5_update(struct md5_context *ctx, const void *data, size_t size) { /* @UNSAFE */ uint_fast32_t saved_lo; @@ -221,7 +222,8 @@ void md5_update(struct md5_context *ctx, const void *data, size_t size) memcpy(ctx->buffer, data, size); } -void md5_final(struct md5_context *ctx, unsigned char result[STATIC_ARRAY MD5_RESULTLEN]) +void ATTR_UNSIGNED_WRAPS +md5_final(struct md5_context *ctx, unsigned char result[STATIC_ARRAY MD5_RESULTLEN]) { /* @UNSAFE */ unsigned long used, free; diff --git a/src/lib/sha1.c b/src/lib/sha1.c index edb1735e7f..ddbecf2867 100644 --- a/src/lib/sha1.c +++ b/src/lib/sha1.c @@ -73,7 +73,7 @@ static uint32_t SHA1_K[] = { 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6 }; static void sha1_step(struct sha1_ctxt *); -static void +static void ATTR_UNSIGNED_WRAPS sha1_step(struct sha1_ctxt *ctxt) { uint32_t a, b, c, d, e; diff --git a/src/lib/sha2.c b/src/lib/sha2.c index c3aa91dee5..cf058c5be7 100644 --- a/src/lib/sha2.c +++ b/src/lib/sha2.c @@ -175,8 +175,9 @@ static const uint64_t sha512_k[80] = /* SHA-256 functions */ -static void sha256_transf(struct sha256_ctx *ctx, const unsigned char *data, - size_t block_nb) +static void ATTR_UNSIGNED_WRAPS +sha256_transf(struct sha256_ctx *ctx, const unsigned char *data, + size_t block_nb) { uint32_t w[64]; uint32_t wv[8]; @@ -301,8 +302,9 @@ void sha256_get_digest(const void *data, size_t size, /* SHA-512 functions */ -static void sha512_transf(struct sha512_ctx *ctx, const unsigned char *data, - size_t block_nb) +static void ATTR_UNSIGNED_WRAPS +sha512_transf(struct sha512_ctx *ctx, const unsigned char *data, + size_t block_nb) { uint64_t w[80]; uint64_t wv[8];