From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53800) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCQJY-00065e-C8 for qemu-devel@nongnu.org; Mon, 13 Jun 2016 07:45:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bCQJS-0005wi-71 for qemu-devel@nongnu.org; Mon, 13 Jun 2016 07:45:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44781) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bCQJS-0005wd-1p for qemu-devel@nongnu.org; Mon, 13 Jun 2016 07:45:50 -0400 From: "Daniel P. Berrange" Date: Mon, 13 Jun 2016 12:45:36 +0100 Message-Id: <1465818337-30627-4-git-send-email-berrange@redhat.com> In-Reply-To: <1465818337-30627-1-git-send-email-berrange@redhat.com> References: <1465818337-30627-1-git-send-email-berrange@redhat.com> Subject: [Qemu-devel] [PULL v1 3/4] crypto: assert that qcrypto_hash_digest_len is in range List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Paolo Bonzini , "Daniel P. Berrange" From: Paolo Bonzini Otherwise unintended results could happen. For example, Coverity reports a division by zero in qcrypto_afsplit_hash. While this cannot really happen, it shows that the contract of qcrypto_hash_digest_len can be improved. Reviewed-by: Eric Blake Signed-off-by: Paolo Bonzini Signed-off-by: Daniel P. Berrange --- crypto/hash.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/crypto/hash.c b/crypto/hash.c index b90af34..2907bff 100644 --- a/crypto/hash.c +++ b/crypto/hash.c @@ -36,9 +36,7 @@ static size_t qcrypto_hash_alg_size[QCRYPTO_HASH_ALG__MAX] = { size_t qcrypto_hash_digest_len(QCryptoHashAlgorithm alg) { - if (alg >= G_N_ELEMENTS(qcrypto_hash_alg_size)) { - return 0; - } + assert(alg < G_N_ELEMENTS(qcrypto_hash_alg_size)); return qcrypto_hash_alg_size[alg]; } -- 2.5.5