]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - sshrsa.c
Add support in uxnet.c for Unix-domain listening sockets.
[PuTTY.git] / sshrsa.c
index fb0bcaa9d1d022986e8a8a50b16e67dc147c5649..4ec95f23749178484da893361a86b45638dd2c22 100644 (file)
--- a/sshrsa.c
+++ b/sshrsa.c
@@ -561,6 +561,8 @@ static Bignum getmp(char **data, int *datalen)
     return b;
 }
 
+static void rsa2_freekey(void *key);   /* forward reference */
+
 static void *rsa2_newkey(char *data, int len)
 {
     char *p;
@@ -580,6 +582,11 @@ static void *rsa2_newkey(char *data, int len)
     rsa->p = rsa->q = rsa->iqmp = NULL;
     rsa->comment = NULL;
 
+    if (!rsa->exponent || !rsa->modulus) {
+        rsa2_freekey(rsa);
+        return NULL;
+    }
+
     return rsa;
 }