1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

gpg: Simplify the pubkey_enc_list object

* g10/packet.h (struct pubkey_enc_list): Replace most by a
PKT_pubkey_enc member.
* g10/free-packet.c (free_pubkey_enc): Factor most stuff out to ...
(release_pubkey_enc_parts): new.
(copy_pubkey_enc_parts): New.
* g10/mainproc.c (release_list): Adjust for above change.
(proc_pubkey_enc): Ditto.
(print_pkenc_list): Ditto.
(proc_encrypted): Ditto.
This commit is contained in:
Werner Koch 2024-09-03 18:20:51 +02:00
parent 1e25157266
commit 1eaf1e236e
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
4 changed files with 88 additions and 62 deletions

View file

@ -52,18 +52,50 @@ free_symkey_enc( PKT_symkey_enc *enc )
xfree(enc);
}
/* This is the core of free_pubkey_enc but does only release the
* allocated members of ENC. */
void
free_pubkey_enc( PKT_pubkey_enc *enc )
release_pubkey_enc_parts (PKT_pubkey_enc *enc)
{
int n, i;
n = pubkey_get_nenc( enc->pubkey_algo );
if( !n )
mpi_release(enc->data[0]);
for(i=0; i < n; i++ )
mpi_release( enc->data[i] );
xfree(enc);
int n, i;
n = pubkey_get_nenc( enc->pubkey_algo );
if (!n)
mpi_release (enc->data[0]);
for (i=0; i < n; i++ )
mpi_release (enc->data[i]);
}
void
free_pubkey_enc (PKT_pubkey_enc *enc)
{
release_pubkey_enc_parts (enc);
xfree (enc);
}
/* Copy everything from SRC to DST. This assumes that DST has been
* malloced or statically allocated. */
void
copy_pubkey_enc_parts (PKT_pubkey_enc *dst, PKT_pubkey_enc *src)
{
int n, i;
dst->keyid[0] = src->keyid[0];
dst->keyid[1] = src->keyid[1];
dst->version = src->version;
dst->pubkey_algo = src->pubkey_algo;
dst->seskey_algo = src->seskey_algo;
dst->throw_keyid = src->throw_keyid;
if (!(n = pubkey_get_nenc (dst->pubkey_algo)))
n = 1; /* All data is in the first item as an opaque MPI. */
for (i=0; i < n; i++)
dst->data[i] = my_mpi_copy (src->data[i]);
for (; i < PUBKEY_MAX_NENC; i++)
dst->data[i] = NULL;
}
void
free_seckey_enc( PKT_signature *sig )
{