diff --git a/crypto/af_alg.c b/crypto/af_alg.c index d11db80d24cd..24ac5b376ab0 100644 --- a/crypto/af_alg.c +++ b/crypto/af_alg.c @@ -155,7 +155,7 @@ static int alg_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) if (sock->state == SS_CONNECTED) return -EINVAL; - if (addr_len < sizeof(*sa)) + if (!addr_len || addr_len < sizeof(*sa)) return -EINVAL; /* If caller uses non-allowed flag, return error. */