mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Do not abort on certain invalid packets.
* g10/build-packet.c (write_fake_data): Check for non-opaque data. * g10/seskey.c (do_encode_md): Return NULL instead of abort. -- The first may happen if the usage flags of an algorithm do not match the allowed usage. When writing a backsig this would lead to a log_bug in libgcrypt due to the use of a regular MPI as opaque data. The second may happen with all kind of invalid data. It is easy to avoid an abort, though. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
072acb69be
commit
d837f6b0ea
2 changed files with 8 additions and 3 deletions
|
@ -301,6 +301,8 @@ write_fake_data (IOBUF out, gcry_mpi_t a)
|
|||
|
||||
if (!a)
|
||||
return 0;
|
||||
if (!gcry_mpi_get_flag (a, GCRYMPI_FLAG_OPAQUE))
|
||||
return 0; /* e.g. due to generating a key with wrong usage. */
|
||||
p = gcry_mpi_get_opaque ( a, &n);
|
||||
if (!p)
|
||||
return 0; /* For example due to a read error in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue