diff --git a/g10/ChangeLog b/g10/ChangeLog index 69b1f385a..17d16e24d 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,8 @@ +2002-07-28 David Shaw + + * sig-check.c (do_check): Properly validate v4 sigs with no hashed + section at all. + 2002-07-25 David Shaw * keyedit.c (menu_revsig): Change "revsig" to honor selected uids diff --git a/g10/sig-check.c b/g10/sig-check.c index 1654fe997..243099796 100644 --- a/g10/sig-check.c +++ b/g10/sig-check.c @@ -281,8 +281,13 @@ do_check( PKT_public_key *pk, PKT_signature *sig, MD_HANDLE digest, md_write (digest, sig->hashed->data, n); n += 6; } - else - n = 6; + else { + /* Two octets for the (empty) length of the hashed + section. */ + md_putc (digest, 0); + md_putc (digest, 0); + n = 6; + } /* add some magic */ buf[0] = sig->version; buf[1] = 0xff;