Avoid trying to take the modular inverse of zero in response to a
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sun, 4 Aug 2013 19:34:00 +0000 (19:34 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Sun, 4 Aug 2013 19:34:00 +0000 (19:34 +0000)
sufficiently silly DSA signature.

git-svn-id: svn://svn.tartarus.org/sgt/putty@9989 cda61777-01e9-0310-a592-d414129be87e

sshdss.c

index bf6c3ba..3ea3695 100644 (file)
--- 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.
      */