summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2004-07-09 08:31:25 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2004-07-09 08:31:25 +0000
commit6a46244733178c2523d5a24d50ff3f46d1c8e5f8 (patch)
treed6c6956b4ef3663e74a2c6608dd079f44a9d8112
parent141ef75c90e6f7c1e34f61fc3432accb9dc20973 (diff)
downloadgnutls-6a46244733178c2523d5a24d50ff3f46d1c8e5f8.tar.gz
eliminated some memory leaks. Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
-rw-r--r--lib/gnutls_pk.c6
-rw-r--r--lib/gnutls_x509.c12
-rw-r--r--lib/x509/x509.c2
3 files changed, 9 insertions, 11 deletions
diff --git a/lib/gnutls_pk.c b/lib/gnutls_pk.c
index 6361ba8d92..c853ae79f7 100644
--- a/lib/gnutls_pk.c
+++ b/lib/gnutls_pk.c
@@ -612,10 +612,8 @@ int _gnutls_pk_decrypt(int algo, mpi_t * resarr, mpi_t data, mpi_t * pkey,
case GCRY_PK_RSA:
if (pkey_len >= 6)
rc = gcry_sexp_build(&s_pkey, NULL,
- "(private-key(rsa((n%m)(e%m)(d%m)(p%m)(q%m)(u%m))))",
- pkey[0], pkey[1], pkey[2], pkey[3],
- pkey[4], pkey[5]);
-
+ "(private-key(rsa((n%m)(e%m)(d%m)(p%m)(q%m)(u%m))))",
+ pkey[0], pkey[1], pkey[2], pkey[3], pkey[4], pkey[5]);
break;
default:
diff --git a/lib/gnutls_x509.c b/lib/gnutls_x509.c
index 6f2b549f5c..09318069cd 100644
--- a/lib/gnutls_x509.c
+++ b/lib/gnutls_x509.c
@@ -440,7 +440,7 @@ static int parse_pem_cert_mem(gnutls_cert ** cert_list, uint * ncerts,
*cert_list =
(gnutls_cert *) gnutls_realloc_fast(*cert_list,
- i * sizeof(gnutls_cert));
+ i * sizeof(gnutls_cert));
if (*cert_list == NULL) {
gnutls_assert();
@@ -456,6 +456,7 @@ static int parse_pem_cert_mem(gnutls_cert ** cert_list, uint * ncerts,
gnutls_assert();
return ret;
}
+ _gnutls_free_datum( &tmp); /* free ptr2 */
/* now we move ptr after the pem header
*/
@@ -1178,8 +1179,7 @@ static int parse_der_ca_mem(gnutls_x509_crt_t ** cert_list, uint * ncerts,
*cert_list =
(gnutls_x509_crt_t *) gnutls_realloc_fast(*cert_list,
- i *
- sizeof(gnutls_x509_crt_t));
+ i * sizeof(gnutls_x509_crt_t));
if (*cert_list == NULL) {
gnutls_assert();
@@ -1197,7 +1197,7 @@ static int parse_der_ca_mem(gnutls_x509_crt_t ** cert_list, uint * ncerts,
ret =
gnutls_x509_crt_import(cert_list[0][i - 1],
- &tmp, GNUTLS_X509_FMT_DER);
+ &tmp, GNUTLS_X509_FMT_DER);
if (ret < 0) {
gnutls_assert();
return ret;
@@ -1236,10 +1236,10 @@ int gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials_t
if (type == GNUTLS_X509_FMT_DER)
return parse_der_ca_mem(&res->x509_ca_list, &res->x509_ncas,
- ca->data, ca->size);
+ ca->data, ca->size);
else
return parse_pem_ca_mem(&res->x509_ca_list, &res->x509_ncas,
- ca->data, ca->size);
+ ca->data, ca->size);
if ((ret2 = generate_rdn_seq(res)) < 0)
return ret2;
diff --git a/lib/x509/x509.c b/lib/x509/x509.c
index 4b9d275b31..613842cedf 100644
--- a/lib/x509/x509.c
+++ b/lib/x509/x509.c
@@ -1123,7 +1123,7 @@ int _gnutls_x509_crt_get_raw_dn2(gnutls_x509_crt_t cert,
ASN1_TYPE c2 = ASN1_TYPE_EMPTY;
int result, len1;
int start1, end1;
- gnutls_datum_t signed_data;
+ gnutls_datum_t signed_data = { NULL, 0 };
/* get the issuer of 'cert'
*/