diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | kexdhs.c | 6 | ||||
-rw-r--r-- | kexgexs.c | 6 |
3 files changed, 12 insertions, 4 deletions
@@ -97,6 +97,10 @@ | |||
97 | [packet.c] | 97 | [packet.c] |
98 | Move some more statics into session_state | 98 | Move some more statics into session_state |
99 | ok markus@ djm@ | 99 | ok markus@ djm@ |
100 | - dtucker@cvs.openbsd.org 2009/06/21 07:37:15 | ||
101 | [kexdhs.c kexgexs.c] | ||
102 | abort if key_sign fails, preventing possible null deref. Based on report | ||
103 | from Paolo Ganci, ok markus@ djm@ | ||
100 | 104 | ||
101 | 20090616 | 105 | 20090616 |
102 | - (dtucker) [configure.ac defines.h] Bug #1607: handle the case where fsid_t | 106 | - (dtucker) [configure.ac defines.h] Bug #1607: handle the case where fsid_t |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kexdhs.c,v 1.9 2006/11/06 21:25:28 markus Exp $ */ | 1 | /* $OpenBSD: kexdhs.c,v 1.10 2009/06/21 07:37:15 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2001 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -137,7 +137,9 @@ kexdh_server(Kex *kex) | |||
137 | } | 137 | } |
138 | 138 | ||
139 | /* sign H */ | 139 | /* sign H */ |
140 | PRIVSEP(key_sign(server_host_key, &signature, &slen, hash, hashlen)); | 140 | if (PRIVSEP(key_sign(server_host_key, &signature, &slen, hash, |
141 | hashlen)) < 0) | ||
142 | fatal("kexdh_server: key_sign failed"); | ||
141 | 143 | ||
142 | /* destroy_sensitive_data(); */ | 144 | /* destroy_sensitive_data(); */ |
143 | 145 | ||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: kexgexs.c,v 1.11 2009/01/01 21:17:36 djm Exp $ */ | 1 | /* $OpenBSD: kexgexs.c,v 1.12 2009/06/21 07:37:15 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Niels Provos. All rights reserved. | 3 | * Copyright (c) 2000 Niels Provos. All rights reserved. |
4 | * Copyright (c) 2001 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2001 Markus Friedl. All rights reserved. |
@@ -179,7 +179,9 @@ kexgex_server(Kex *kex) | |||
179 | } | 179 | } |
180 | 180 | ||
181 | /* sign H */ | 181 | /* sign H */ |
182 | PRIVSEP(key_sign(server_host_key, &signature, &slen, hash, hashlen)); | 182 | if (PRIVSEP(key_sign(server_host_key, &signature, &slen, hash, |
183 | hashlen)) < 0) | ||
184 | fatal("kexgex_server: key_sign failed"); | ||
183 | 185 | ||
184 | /* destroy_sensitive_data(); */ | 186 | /* destroy_sensitive_data(); */ |
185 | 187 | ||