NULL tofree when it is freed to avoid double free.
authorDr. Stephen Henson <steve@openssl.org>
Thu, 9 Jan 2003 13:06:49 +0000 (13:06 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 9 Jan 2003 13:06:49 +0000 (13:06 +0000)
Make sure key is not NULL before freeing it.

apps/ca.c

index c413a0318f393be2c50920950a1bd51dfdfe59ba..0ef23ad79fe54a45e97f34d203191663ae10d9ad 100644 (file)
--- a/apps/ca.c
+++ b/apps/ca.c
@@ -597,7 +597,10 @@ bad:
                goto err;
                }
        if(tofree)
                goto err;
                }
        if(tofree)
+               {
                OPENSSL_free(tofree);
                OPENSSL_free(tofree);
+               tofree = NULL;
+               }
 
        if (!load_config(bio_err, conf))
                goto err;
 
        if (!load_config(bio_err, conf))
                goto err;
@@ -1642,7 +1645,7 @@ err:
 
        if (ret) ERR_print_errors(bio_err);
        app_RAND_write_file(randfile, bio_err);
 
        if (ret) ERR_print_errors(bio_err);
        app_RAND_write_file(randfile, bio_err);
-       if (free_key)
+       if (free_key & key)
                OPENSSL_free(key);
        BN_free(serial);
        TXT_DB_free(db);
                OPENSSL_free(key);
        BN_free(serial);
        TXT_DB_free(db);