aboutsummaryrefslogtreecommitdiffstats
path: root/g10/free-packet.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/free-packet.c')
-rw-r--r--g10/free-packet.c15
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 )
{