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.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/g10/free-packet.c b/g10/free-packet.c
index f62c7ca03..4df3658d3 100644
--- a/g10/free-packet.c
+++ b/g10/free-packet.c
@@ -59,6 +59,8 @@ free_seckey_enc( PKT_signature *sig )
mpi_free(sig->data[0]);
for(i=0; i < n; i++ )
mpi_free( sig->data[i] );
+
+ m_free(sig->revkey);
m_free(sig->hashed);
m_free(sig->unhashed);
m_free(sig);
@@ -89,6 +91,11 @@ release_public_key_parts( PKT_public_key *pk )
free_user_id (pk->user_id);
pk->user_id = NULL;
}
+ if (pk->revkey) {
+ m_free(pk->revkey);
+ pk->revkey=NULL;
+ pk->numrevkeys=0;
+ }
}
@@ -157,6 +164,8 @@ copy_public_key ( PKT_public_key *d, PKT_public_key *s)
for(i=0; i < n; i++ )
d->pkey[i] = mpi_copy( s->pkey[i] );
}
+ d->revkey=m_alloc(sizeof(struct revocation_key)*s->numrevkeys);
+ memcpy(d->revkey,s->revkey,sizeof(struct revocation_key)*s->numrevkeys);
return d;
}