]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Fix memleaks.
authorDaiki Ueno <ueno@unixuser.org>
Thu, 20 Aug 2009 01:33:00 +0000 (10:33 +0900)
committerSimon Josefsson <simon@josefsson.org>
Thu, 20 Aug 2009 08:04:51 +0000 (10:04 +0200)
Signed-off-by: Simon Josefsson <simon@josefsson.org>
lib/libgnutls.map
lib/opencdk/keydb.c
tests/dn2.c
tests/mpi.c
tests/resume.c

index a4807dee18b667d7dc043391877bc36b6753039d..100ac679f0d9c70dfaa7db6907840cd3af18d891 100644 (file)
@@ -616,6 +616,7 @@ GNUTLS_PRIVATE {
     _gnutls_mpi_ops;
     _gnutls_mpi_randomize;
     _gnutls_mpi_log;
+    _gnutls_mpi_release;
     # Internal symbols needed by tests/pkcs12_s2k:
     _gnutls_pkcs12_string_to_key;
     _gnutls_bin2hex;
index 971e69381924bf368664a2775932aa63919f5835..314fefedc4c574b61fd1644b26a74c0a1c3d042e 100644 (file)
@@ -1422,14 +1422,13 @@ cdk_keydb_get_pk (cdk_keydb_hd_t hd, u32 * keyid, cdk_pubkey_t * r_pk)
       return rc;
     }
   rc = cdk_keydb_search (st, hd, &knode);
+  cdk_keydb_search_release (st);
   if (rc)
     {
       gnutls_assert ();
       return rc;
     }
 
-  cdk_keydb_search_release (st);
-
   node = keydb_find_bykeyid (knode, keyid, s_type);
   if (!node)
     {
index 83bd13243d4abd3705e951cda3a1c0d619f08f81..6ef8579e6282317f2acb5fecf92fb9ce6bb68741 100644 (file)
@@ -100,6 +100,7 @@ doit (void)
 
   gnutls_x509_crt_deinit (cert);
   gnutls_global_deinit ();
+  gnutls_free (out.data);
 
   success ("done\n");
 }
index e5a4a28946a58d9c4a94917ec5495ed887e6f4d2..e37f273dd394b4e15bad0a92354c28cf68025f9b 100644 (file)
@@ -77,5 +77,10 @@ doit (void)
   if (_gnutls_mpi_cmp_ui (n4, 0) != 0 && _gnutls_mpi_cmp_ui (n4, 1) != 0)
     fail ("mpi_cmp_ui failed\n");
 
+  _gnutls_mpi_release (&n1);
+  _gnutls_mpi_release (&n2);
+  _gnutls_mpi_release (&n3);
+  _gnutls_mpi_release (&n4);
+
   success ("mpi ops ok\n");
 }
index e4d7a2ab807c83f068ea079e02e81914760b5822..9c239408bf4fdf6dfc915fdafbf5ba4ae6d4c427 100644 (file)
@@ -216,7 +216,7 @@ client (struct params_res *params)
 
 /* These are global */
 gnutls_anon_server_credentials_t anoncred;
-gnutls_datum_t session_ticket_key;
+gnutls_datum_t session_ticket_key = { NULL, 0 };
 
 static gnutls_session_t
 initialize_tls_session (struct params_res *params)
@@ -421,6 +421,8 @@ server (struct params_res *params)
       wrap_db_deinit ();
     }
 
+  gnutls_free (session_ticket_key.data);
+
   success ("server: finished\n");
 }