mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpg: Avoid NULL-deref in default key listing.
* g10/keyid.c (hash_public_key): Take care of NULL keys. * g10/misc.c (pubkey_nbits): Ditto. -- This problem was mainly due to our ECC code while checking for opaque MPIs with the curve name.
This commit is contained in:
parent
f3249b1c4d
commit
958e5f292f
2 changed files with 50 additions and 34 deletions
10
g10/keyid.c
10
g10/keyid.c
|
@ -167,7 +167,15 @@ hash_public_key (gcry_md_hd_t md, PKT_public_key *pk)
|
|||
{
|
||||
for (i=0; i < npkey; i++ )
|
||||
{
|
||||
if (gcry_mpi_get_flag (pk->pkey[i], GCRYMPI_FLAG_OPAQUE))
|
||||
if (!pk->pkey[i])
|
||||
{
|
||||
/* This case may only happen if the parsing of the MPI
|
||||
failed but the key was anyway created. May happen
|
||||
during "gpg KEYFILE". */
|
||||
pp[i] = NULL;
|
||||
nn[i] = 0;
|
||||
}
|
||||
else if (gcry_mpi_get_flag (pk->pkey[i], GCRYMPI_FLAG_OPAQUE))
|
||||
{
|
||||
const void *p;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue