diff options
author | Werner Koch <[email protected]> | 2004-06-16 09:09:31 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2004-06-16 09:09:31 +0000 |
commit | 5c9cc2e8674ad1e36b42a952ba1c4f0cb8b4b114 (patch) | |
tree | fe3981b6cdb6f6e920f190fdd6364343d398cff4 /g10/free-packet.c | |
parent | * mk-w32-dist: Do not include the en@* po files. (diff) | |
download | gnupg-5c9cc2e8674ad1e36b42a952ba1c4f0cb8b4b114.tar.gz gnupg-5c9cc2e8674ad1e36b42a952ba1c4f0cb8b4b114.zip |
* free-packet.c (copy_secret_key): Fixed memory leak when D is not
NULL.
* passphrase.c (passphrase_to_dek): Added a few comments to the
code.
Diffstat (limited to '')
-rw-r--r-- | g10/free-packet.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/g10/free-packet.c b/g10/free-packet.c index b1383a750..195cf5088 100644 --- a/g10/free-packet.c +++ b/g10/free-packet.c @@ -265,10 +265,18 @@ 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[1]) + mpi_free (d->skey[1]); d->skey[i] = mpi_copy( s->skey[i] ); + } } return d; } |