Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

crypto: lib/sha256 - improve function prototypes

Follow best practices by changing the length parameters to size_t and
explicitly specifying the length of the output digest arrays.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Eric Biggers and committed by
Herbert Xu
7350fef5 5aab0177

+8 -8
+4 -4
include/crypto/sha2.h
··· 100 100 sctx->state[7] = SHA256_H7; 101 101 sctx->count = 0; 102 102 } 103 - void sha256_update(struct sha256_state *sctx, const u8 *data, unsigned int len); 104 - void sha256_final(struct sha256_state *sctx, u8 *out); 105 - void sha256(const u8 *data, unsigned int len, u8 *out); 103 + void sha256_update(struct sha256_state *sctx, const u8 *data, size_t len); 104 + void sha256_final(struct sha256_state *sctx, u8 out[SHA256_DIGEST_SIZE]); 105 + void sha256(const u8 *data, size_t len, u8 out[SHA256_DIGEST_SIZE]); 106 106 107 107 static inline void sha224_init(struct sha256_state *sctx) 108 108 { ··· 117 117 sctx->count = 0; 118 118 } 119 119 /* Simply use sha256_update as it is equivalent to sha224_update. */ 120 - void sha224_final(struct sha256_state *sctx, u8 *out); 120 + void sha224_final(struct sha256_state *sctx, u8 out[SHA224_DIGEST_SIZE]); 121 121 122 122 #endif /* _CRYPTO_SHA2_H */
+4 -4
lib/crypto/sha256.c
··· 70 70 memcpy(&sctx->buf[partial], data, len); 71 71 } 72 72 73 - void sha256_update(struct sha256_state *sctx, const u8 *data, unsigned int len) 73 + void sha256_update(struct sha256_state *sctx, const u8 *data, size_t len) 74 74 { 75 75 __sha256_update(sctx, data, len, false); 76 76 } ··· 101 101 memzero_explicit(sctx, sizeof(*sctx)); 102 102 } 103 103 104 - void sha256_final(struct sha256_state *sctx, u8 *out) 104 + void sha256_final(struct sha256_state *sctx, u8 out[SHA256_DIGEST_SIZE]) 105 105 { 106 106 __sha256_final(sctx, out, SHA256_DIGEST_SIZE, false); 107 107 } 108 108 EXPORT_SYMBOL(sha256_final); 109 109 110 - void sha224_final(struct sha256_state *sctx, u8 *out) 110 + void sha224_final(struct sha256_state *sctx, u8 out[SHA224_DIGEST_SIZE]) 111 111 { 112 112 __sha256_final(sctx, out, SHA224_DIGEST_SIZE, false); 113 113 } 114 114 EXPORT_SYMBOL(sha224_final); 115 115 116 - void sha256(const u8 *data, unsigned int len, u8 *out) 116 + void sha256(const u8 *data, size_t len, u8 out[SHA256_DIGEST_SIZE]) 117 117 { 118 118 struct sha256_state sctx; 119 119