don't let BN_CTX_free(NULL) segfault
authorNils Larsch <nils@openssl.org>
Fri, 29 Apr 2005 21:20:31 +0000 (21:20 +0000)
committerNils Larsch <nils@openssl.org>
Fri, 29 Apr 2005 21:20:31 +0000 (21:20 +0000)
crypto/bn/bn_ctx.c

index 7010193..b3452f1 100644 (file)
@@ -230,7 +230,10 @@ BN_CTX *BN_CTX_new(void)
 
 void BN_CTX_free(BN_CTX *ctx)
        {
+       if (ctx == NULL)
+               return;
 #ifdef BN_CTX_DEBUG
+       {
        BN_POOL_ITEM *pool = ctx->pool.head;
        fprintf(stderr,"BN_CTX_free, stack-size=%d, pool-bignums=%d\n",
                ctx->stack.size, ctx->pool.size);
@@ -242,6 +245,7 @@ void BN_CTX_free(BN_CTX *ctx)
                pool = pool->next;
        }
        fprintf(stderr,"\n");
+       }
 #endif
        BN_STACK_finish(&ctx->stack);
        BN_POOL_finish(&ctx->pool);