From 3cddaeeea39827924b6b7ffc99df9f511a635fa7 Mon Sep 17 00:00:00 2001 From: miod <> Date: Wed, 15 Jul 2015 16:32:29 +0000 Subject: Previous fix for Coverity CID 21785 did not cope correctly with seed_len != 0, seed_in == NULL case. Since this situation is an error anyway, bail out early. with and ok beck@ --- src/lib/libcrypto/dsa/dsa_gen.c | 4 +++- src/lib/libssl/src/crypto/dsa/dsa_gen.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/libcrypto/dsa/dsa_gen.c b/src/lib/libcrypto/dsa/dsa_gen.c index 73ae485349..342764397c 100644 --- a/src/lib/libcrypto/dsa/dsa_gen.c +++ b/src/lib/libcrypto/dsa/dsa_gen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dsa_gen.c,v 1.20 2015/02/15 22:29:02 doug Exp $ */ +/* $OpenBSD: dsa_gen.c,v 1.21 2015/07/15 16:32:29 miod Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -138,6 +138,8 @@ dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits, const EVP_MD *evpmd, seed_len = qsize; if (seed_in != NULL) memcpy(seed, seed_in, seed_len); + else if (seed_len == 0) + goto err; if ((mont=BN_MONT_CTX_new()) == NULL) goto err; diff --git a/src/lib/libssl/src/crypto/dsa/dsa_gen.c b/src/lib/libssl/src/crypto/dsa/dsa_gen.c index 73ae485349..342764397c 100644 --- a/src/lib/libssl/src/crypto/dsa/dsa_gen.c +++ b/src/lib/libssl/src/crypto/dsa/dsa_gen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dsa_gen.c,v 1.20 2015/02/15 22:29:02 doug Exp $ */ +/* $OpenBSD: dsa_gen.c,v 1.21 2015/07/15 16:32:29 miod Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -138,6 +138,8 @@ dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits, const EVP_MD *evpmd, seed_len = qsize; if (seed_in != NULL) memcpy(seed, seed_in, seed_len); + else if (seed_len == 0) + goto err; if ((mont=BN_MONT_CTX_new()) == NULL) goto err; -- cgit v1.2.3-55-g6feb