From: simon Date: Sun, 4 Aug 2013 19:34:00 +0000 (+0000) Subject: Avoid trying to take the modular inverse of zero in response to a X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/commitdiff_plain/919e9a53e43da0082f704b860fa70796c83f3c60 Avoid trying to take the modular inverse of zero in response to a sufficiently silly DSA signature. git-svn-id: svn://svn.tartarus.org/sgt/putty@9989 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/sshdss.c b/sshdss.c index bf6c3ba5..3ea36952 100644 --- a/sshdss.c +++ b/sshdss.c @@ -276,6 +276,12 @@ static int dss_verifysig(void *key, char *sig, int siglen, return 0; } + if (!bignum_cmp(s, Zero)) { + freebn(r); + freebn(s); + return 0; + } + /* * Step 1. w <- s^-1 mod q. */