After objects have been freed, NULLify the pointers so there will be no double
authorRichard Levitte <levitte@openssl.org>
Wed, 7 Feb 2007 01:42:46 +0000 (01:42 +0000)
committerRichard Levitte <levitte@openssl.org>
Wed, 7 Feb 2007 01:42:46 +0000 (01:42 +0000)
free of those objects

crypto/x509/x509_vfy.c

index d8ed30a..ba2c383 100644 (file)
@@ -1598,9 +1598,16 @@ void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
 void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx)
        {
        if (ctx->cleanup) ctx->cleanup(ctx);
-       X509_VERIFY_PARAM_free(ctx->param);
-       if (ctx->tree)
+       if (ctx->param != NULL)
+               {
+               X509_VERIFY_PARAM_free(ctx->param);
+               ctx->param=NULL;
+               }
+       if (ctx->tree != NULL)
+               {
                X509_policy_tree_free(ctx->tree);
+               ctx->tree=NULL;
+               }
        if (ctx->chain != NULL)
                {
                sk_X509_pop_free(ctx->chain,X509_free);