Implement SecureContext destructor
authorRyan Dahl <ry@tinyclouds.org>
Wed, 1 Dec 2010 00:28:50 +0000 (16:28 -0800)
committerRyan Dahl <ry@tinyclouds.org>
Wed, 1 Dec 2010 02:19:54 +0000 (18:19 -0800)
src/node_crypto.cc
src/node_crypto.h

index 0ab886ef6bd284ca8d783a554050297de1f823c8..d46ed1e06213456b29090241646ea93a50e9bf6d 100644 (file)
@@ -263,6 +263,7 @@ Handle<Value> SecureContext::Close(const Arguments& args) {
 
   if (sc->ctx_ != NULL) {
     SSL_CTX_free(sc->ctx_);
+    sc->ctx_ = NULL;
     return True();
   }
 
index 9f81be6f23016fcc8b8d6ebfd5f177b4e3c365ea..817724189f1bcf5f0a3d29ac156c5208dae32b3b 100644 (file)
@@ -40,7 +40,15 @@ class SecureContext : ObjectWrap {
   }
 
   ~SecureContext() {
-    // Free up
+    if (ctx_) {
+      SSL_CTX_free(ctx_);
+      ctx_ = NULL;
+    }
+
+    if (ca_store_) {
+      X509_STORE_free(ca_store_);
+      ca_store_ = NULL;
+    }
   }
 
  private: