projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Spot when we didn't successfully create an RSA public key from a
[u/mdw/putty]
/
sshrsa.c
diff --git
a/sshrsa.c
b/sshrsa.c
index
fb0bcaa
..
4ec95f2
100644
(file)
--- a/
sshrsa.c
+++ b/
sshrsa.c
@@
-561,6
+561,8
@@
static Bignum getmp(char **data, int *datalen)
return b;
}
return b;
}
+static void rsa2_freekey(void *key); /* forward reference */
+
static void *rsa2_newkey(char *data, int len)
{
char *p;
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;
rsa->p = rsa->q = rsa->iqmp = NULL;
rsa->comment = NULL;
+ if (!rsa->exponent || !rsa->modulus) {
+ rsa2_freekey(rsa);
+ return NULL;
+ }
+
return rsa;
}
return rsa;
}