Fix a missing NULL check in dsa_builtin_paramgen
authorMatt Caswell <matt@openssl.org>
Wed, 14 Sep 2016 12:27:59 +0000 (13:27 +0100)
committerMatt Caswell <matt@openssl.org>
Wed, 21 Sep 2016 12:35:11 +0000 (13:35 +0100)
We should check the last BN_CTX_get() call to ensure that it isn't NULL
before we try and use any of the allocated BIGNUMs.

Issue reported by Shi Lei.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(cherry picked from commit 1ff7425d6130380bb00d3e64739633a4b21b11a3)

crypto/dsa/dsa_gen.c

index f6de68488cc0168d7535a94a3181b6167d881ec3..1fce0f81c24242476c2b6a41d5e0a4a66f37a82f 100644 (file)
@@ -185,6 +185,9 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
     p = BN_CTX_get(ctx);
     test = BN_CTX_get(ctx);
 
+    if (test == NULL)
+        goto err;
+
     if (!BN_lshift(test, BN_value_one(), bits - 1))
         goto err;