From c8c71fc7161bf6b553bc5b45b2f7a06f8a1a4639 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 14 Apr 2022 13:53:55 +0200 Subject: [PATCH] gpg: Replace an assert by a log_fatal. * g10/build-packet.c (do_signature): Use log_fatal. -- GnuPG-bug-id: 5809 --- g10/build-packet.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/g10/build-packet.c b/g10/build-packet.c index 14e40a1bf..266bf54e4 100644 --- a/g10/build-packet.c +++ b/g10/build-packet.c @@ -1504,9 +1504,12 @@ do_signature( IOBUF out, int ctb, PKT_signature *sig ) { iobuf_put( a, 3 ); - /* Version 3 packets don't support subpackets. */ - log_assert (! sig->hashed); - log_assert (! sig->unhashed); + /* Version 3 packets don't support subpackets. Actually we + * should never get to here but real life is different and thus + * we now use a log_fatal instead of a log_assert here. */ + if (sig->hashed || sig->unhashed) + log_fatal ("trying to write a subpacket to a v3 signature (%d,%d)\n", + !!sig->hashed, !!sig->unhashed); } else iobuf_put( a, sig->version );