Message ID | 1456246916-16130-1-git-send-email-sasha.levin@oracle.com (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Herbert Xu |
Headers | show |
On Tue, Feb 23, 2016 at 12:01:56PM -0500, Sasha Levin wrote: > Algorithms without state will cause the creation of a 0 sized array, which > is undefined outside of structs. > > Signed-off-by: Sasha Levin <sasha.levin@oracle.com> Actually the state size should never be zero and we check it upon algorithm registration, so how can this possibly happen? Thanks,
diff --git a/crypto/algif_hash.c b/crypto/algif_hash.c index 68a5cea..a9f923f 100644 --- a/crypto/algif_hash.c +++ b/crypto/algif_hash.c @@ -184,7 +184,7 @@ static int hash_accept(struct socket *sock, struct socket *newsock, int flags) struct alg_sock *ask = alg_sk(sk); struct hash_ctx *ctx = ask->private; struct ahash_request *req = &ctx->req; - char state[crypto_ahash_statesize(crypto_ahash_reqtfm(req))]; + char state[crypto_ahash_statesize(crypto_ahash_reqtfm(req))?:1]; struct sock *sk2; struct alg_sock *ask2; struct hash_ctx *ctx2;
Algorithms without state will cause the creation of a 0 sized array, which is undefined outside of structs. Signed-off-by: Sasha Levin <sasha.levin@oracle.com> --- crypto/algif_hash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)