diff options
| author | miod <> | 2015-07-15 16:32:29 +0000 |
|---|---|---|
| committer | miod <> | 2015-07-15 16:32:29 +0000 |
| commit | 7be2975fd485c5a4452099e9727e8b485fba3d2b (patch) | |
| tree | 6d909adac6ceaa4f69e260f5a9b701edcef3490a /src/lib/libcrypto/dsa/dsa_gen.c | |
| parent | 54df0addc5c67cbdbda56821f44ae7e2937dc466 (diff) | |
| download | openbsd-7be2975fd485c5a4452099e9727e8b485fba3d2b.tar.gz openbsd-7be2975fd485c5a4452099e9727e8b485fba3d2b.tar.bz2 openbsd-7be2975fd485c5a4452099e9727e8b485fba3d2b.zip | |
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@
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_gen.c')
| -rw-r--r-- | src/lib/libcrypto/dsa/dsa_gen.c | 4 |
1 files changed, 3 insertions, 1 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 @@ | |||
| 1 | /* $OpenBSD: dsa_gen.c,v 1.20 2015/02/15 22:29:02 doug Exp $ */ | 1 | /* $OpenBSD: dsa_gen.c,v 1.21 2015/07/15 16:32:29 miod Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -138,6 +138,8 @@ dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits, const EVP_MD *evpmd, | |||
| 138 | seed_len = qsize; | 138 | seed_len = qsize; |
| 139 | if (seed_in != NULL) | 139 | if (seed_in != NULL) |
| 140 | memcpy(seed, seed_in, seed_len); | 140 | memcpy(seed, seed_in, seed_len); |
| 141 | else if (seed_len == 0) | ||
| 142 | goto err; | ||
| 141 | 143 | ||
| 142 | if ((mont=BN_MONT_CTX_new()) == NULL) | 144 | if ((mont=BN_MONT_CTX_new()) == NULL) |
| 143 | goto err; | 145 | goto err; |
