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 );