fix error found by coverity: check if ctx is != NULL before calling BN_CTX_end()
authorNils Larsch <nils@openssl.org>
Mon, 13 Mar 2006 23:14:57 +0000 (23:14 +0000)
committerNils Larsch <nils@openssl.org>
Mon, 13 Mar 2006 23:14:57 +0000 (23:14 +0000)
crypto/dh/dh_key.c
crypto/ec/ec2_smpl.c
crypto/ec/ec_check.c
crypto/ec/ecp_smpl.c
crypto/rsa/rsa_gen.c

index cc17c88..79984e1 100644 (file)
@@ -217,8 +217,11 @@ static int compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
 
        ret=BN_bn2bin(tmp,key);
 err:
-       BN_CTX_end(ctx);
-       BN_CTX_free(ctx);
+       if (ctx != NULL)
+               {
+               BN_CTX_end(ctx);
+               BN_CTX_free(ctx);
+               }
        return(ret);
        }
 
index a2eb648..527e6d8 100644 (file)
@@ -281,7 +281,8 @@ int ec_GF2m_simple_group_check_discriminant(const EC_GROUP *group, BN_CTX *ctx)
        ret = 1;
 
 err:
-       BN_CTX_end(ctx);
+       if (ctx != NULL)
+               BN_CTX_end(ctx);
        if (new_ctx != NULL)
                BN_CTX_free(new_ctx);
        return ret;
index f22c564..0e316b4 100644 (file)
@@ -113,7 +113,8 @@ int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx)
        ret = 1;
 
 err:
-       BN_CTX_end(ctx);
+       if (ctx != NULL)
+               BN_CTX_end(ctx);
        if (new_ctx != NULL)
                BN_CTX_free(new_ctx);
        if (point)
index 75296a3..4d26f8b 100644 (file)
@@ -336,7 +336,8 @@ int ec_GFp_simple_group_check_discriminant(const EC_GROUP *group, BN_CTX *ctx)
        ret = 1;
 
 err:
-       BN_CTX_end(ctx);
+       if (ctx != NULL)
+               BN_CTX_end(ctx);
        if (new_ctx != NULL)
                BN_CTX_free(new_ctx);
        return ret;
index 383d609..742f8b1 100644 (file)
@@ -183,8 +183,11 @@ err:
                RSAerr(RSA_F_RSA_BUILTIN_KEYGEN,ERR_LIB_BN);
                ok=0;
                }
-       BN_CTX_end(ctx);
-       BN_CTX_free(ctx);
+       if (ctx != NULL)
+               {
+               BN_CTX_end(ctx);
+               BN_CTX_free(ctx);
+               }
 
        return ok;
        }