~mdw
/
sgt
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add an error check to every setsockopt call in uxnet.c.
[sgt/putty]
/
import.c
diff --git
a/import.c
b/import.c
index
d4b87bc
..
32a1ac5
100644
(file)
--- a/
import.c
+++ b/
import.c
@@
-1473,9
+1473,12
@@
struct ssh2_userkey *sshcom_read(const Filename *filename, char *passphrase,
pos += put_mp(blob+pos, p.start, p.bytes);
pos += put_mp(blob+pos, u.start, u.bytes);
privlen = pos - publen;
pos += put_mp(blob+pos, p.start, p.bytes);
pos += put_mp(blob+pos, u.start, u.bytes);
privlen = pos - publen;
- } else
if (type == DSA)
{
+ } else {
struct mpint_pos p, q, g, x, y;
int pos = 4;
struct mpint_pos p, q, g, x, y;
int pos = 4;
+
+ assert(type == DSA); /* the only other option from the if above */
+
if (GET_32BIT(ciphertext) != 0) {
errmsg = "predefined DSA parameters not supported";
goto error;
if (GET_32BIT(ciphertext) != 0) {
errmsg = "predefined DSA parameters not supported";
goto error;
@@
-1500,8
+1503,7
@@
struct ssh2_userkey *sshcom_read(const Filename *filename, char *passphrase,
publen = pos;
pos += put_mp(blob+pos, x.start, x.bytes);
privlen = pos - publen;
publen = pos;
pos += put_mp(blob+pos, x.start, x.bytes);
privlen = pos - publen;
- } else
- return NULL;
+ }
assert(privlen > 0); /* should have bombed by now if not */
assert(privlen > 0); /* should have bombed by now if not */