diff options
Diffstat (limited to 'g10/free-packet.c')
-rw-r--r-- | g10/free-packet.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/g10/free-packet.c b/g10/free-packet.c index f4f38baa4..7d6eb4aaa 100644 --- a/g10/free-packet.c +++ b/g10/free-packet.c @@ -89,6 +89,21 @@ free_seckey_cert( PKT_seckey_cert *cert ) m_free(cert); } +PKT_seckey_cert * +copy_seckey_cert( PKT_seckey_cert *d, PKT_seckey_cert *s ) +{ + if( !d ) + d = m_alloc(sizeof *d); + memcpy( d, s, sizeof *d ); + d->d.rsa.rsa_n = mpi_copy( s->d.rsa.rsa_n ); + d->d.rsa.rsa_e = mpi_copy( s->d.rsa.rsa_e ); + d->d.rsa.rsa_d = mpi_copy( s->d.rsa.rsa_d ); + d->d.rsa.rsa_p = mpi_copy( s->d.rsa.rsa_p ); + d->d.rsa.rsa_q = mpi_copy( s->d.rsa.rsa_q ); + d->d.rsa.rsa_u = mpi_copy( s->d.rsa.rsa_u ); + return d; +} + void free_comment( PKT_comment *rem ) { |