]> granicus.if.org Git - curl/commitdiff
usercertinmem: fix memory leaks
authorIshan SinghLevett <Ishan.SinghLevett@baesystemsdetica.com>
Tue, 15 Oct 2013 18:48:22 +0000 (20:48 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 15 Oct 2013 18:48:22 +0000 (20:48 +0200)
docs/examples/usercertinmem.c

index 99740fdce84bcf4dab9a7d12d905fd19e7976457..36c1c9064c0a0e3bb2bf4b57b7aa3996836d5194 100644 (file)
@@ -22,8 +22,9 @@
 /* Example using an in memory PEM user certificate and RSA key to retrieve an
  * https page.
  * Written by Ishan SinghLevett, based on Theo Borm's cacertinmem.c.
- * Note this example does not use a CA certificate, however one should be used
- * if you want a properly secure connection
+ * Note that to maintain simplicity this example does not use a CA certificate 
+ * for peer verification.  However, some form of peer verification
+ * must be used in real circumstances when a secure connection is required.
  */
 
 #include <openssl/ssl.h>
@@ -152,6 +153,18 @@ static CURLcode sslctx_function(CURL *curl, void *sslctx, void *parm)
     printf("Use Key failed\n");
   }
 
+  /* free resources that have been allocated by openssl functions */
+  if (bio)
+    BIO_free(bio);
+
+  if (kbio)
+    BIO_free(kbio);
+
+  if (rsa)
+    RSA_free(rsa);
+
+  if (cert)
+    X509_free(cert);
 
   /* all set to go */
   return CURLE_OK ;