diff options
author | Werner Koch <[email protected]> | 2004-06-16 09:36:59 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2004-06-16 09:36:59 +0000 |
commit | 40e66b1af1d4c2c66f238f178812e6f111469298 (patch) | |
tree | c30b289c70166e37d02298a2c7aa04e808782a04 | |
parent | * gpg.sgml: Note that --charset is --display-charset. Some language (diff) | |
download | gnupg-40e66b1af1d4c2c66f238f178812e6f111469298.tar.gz gnupg-40e66b1af1d4c2c66f238f178812e6f111469298.zip |
(copy_secret_key): Fixed memory leak.
-rw-r--r-- | THANKS | 1 | ||||
-rw-r--r-- | g10/ChangeLog | 4 | ||||
-rw-r--r-- | g10/free-packet.c | 9 |
3 files changed, 14 insertions, 0 deletions
@@ -11,6 +11,7 @@ Anand Kumria [email protected] Andreas Haumer [email protected] Anthony Mulcahy [email protected] Ariel T Glenn [email protected] +Atom 'Smasher' [email protected] Bob Mathews [email protected] Bodo Moeller [email protected] Brendan O'Dea [email protected] diff --git a/g10/ChangeLog b/g10/ChangeLog index 822150399..cb73e2662 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,7 @@ +2004-06-16 Werner Koch <[email protected]> + + * free-packet.c (copy_secret_key): Fixed memory leak. + 2004-06-01 David Shaw <[email protected]> * g10.c (main): Alias --charset as --display-charset to help avoid diff --git a/g10/free-packet.c b/g10/free-packet.c index 89a67eb1f..d5965808c 100644 --- a/g10/free-packet.c +++ b/g10/free-packet.c @@ -264,11 +264,20 @@ copy_secret_key( PKT_secret_key *d, PKT_secret_key *s ) memcpy( d, s, sizeof *d ); n = pubkey_get_nskey( s->pubkey_algo ); if( !n ) + { + if (d->skey[0]) + mpi_free (d->skey[0]); d->skey[0] = mpi_copy(s->skey[0]); + } else { for(i=0; i < n; i++ ) + { + if (d->skey[i]) + mpi_free (d->skey[i]); d->skey[i] = mpi_copy( s->skey[i] ); + } } + return d; } |