]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
corrected memory leak on RSA signatures.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 8 Apr 2011 15:27:54 +0000 (17:27 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 8 Apr 2011 15:27:54 +0000 (17:27 +0200)
lib/auth_cert.c
lib/gnutls_pk.c

index e6b2eee5fa20244b4e147bff6e9afbcea0bbd72e..c760e50c0247ee6965f2c33169e0b81825bf2c9a 100644 (file)
@@ -1593,7 +1593,7 @@ _gnutls_gen_cert_client_cert_vrfy (gnutls_session_t session, gnutls_buffer_st *
       goto cleanup;
     }
 
-  return data->length;
+  ret = data->length;
 
 cleanup:
   _gnutls_free_datum (&signature);
index 9fa032601bd7b151707f4f98a9f4c9327a6fe5f4..f6284fd1c46e000cc44610dcb66d3deeae316adf 100644 (file)
@@ -185,8 +185,8 @@ _gnutls_pkcs1_rsa_encrypt (gnutls_datum_t * ciphertext,
   if (ciphertext->data == NULL)
     {
       gnutls_assert ();
-      _gnutls_free_datum (&encrypted);
-      return GNUTLS_E_MEMORY_ERROR;
+      ret = GNUTLS_E_MEMORY_ERROR;
+      goto cleanup;
     }
 
   memcpy (&ciphertext->data[pad], encrypted.data, encrypted.size);
@@ -195,9 +195,12 @@ _gnutls_pkcs1_rsa_encrypt (gnutls_datum_t * ciphertext,
 
   ciphertext->size = k;
 
+  ret = 0;
+
+cleanup:
   _gnutls_free_datum (&encrypted);
 
-  return 0;
+  return ret;
 }