Make sure latest Perl versions don't interpret some generated C array as Perl
[openssl.git] / crypto / dh / dh_lib.c
index 786a2c14b461bfb772f66c8a6468ddb16260431c..725d99470224a487ae0823643f60f0f35b0827ae 100644 (file)
@@ -1,5 +1,5 @@
 /* crypto/dh/dh_lib.c */
-/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
  * This package is an SSL implementation written
@@ -61,7 +61,7 @@
 #include "bn.h"
 #include "dh.h"
 
-char *DH_version="Diffie-Hellman part of SSLeay 0.8.1b 29-Jun-1998";
+char *DH_version="Diffie-Hellman part of OpenSSL 0.9.2 31-Dec-1998";
 
 DH *DH_new()
        {
@@ -80,16 +80,21 @@ DH *DH_new()
        ret->length=0;
        ret->pub_key=NULL;
        ret->priv_key=NULL;
+       ret->flags=DH_FLAG_CACHE_MONT_P;
+       ret->method_mont_p=NULL;
        return(ret);
        }
 
 void DH_free(r)
 DH *r;
        {
+       if(r == NULL) return;
        if (r->p != NULL) BN_clear_free(r->p);
        if (r->g != NULL) BN_clear_free(r->g);
        if (r->pub_key != NULL) BN_clear_free(r->pub_key);
        if (r->priv_key != NULL) BN_clear_free(r->priv_key);
+       if (r->method_mont_p != NULL)
+               BN_MONT_CTX_free((BN_MONT_CTX *)r->method_mont_p);
        Free(r);
        }