summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--kexdhs.c6
-rw-r--r--kexgexs.c6
3 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 862d55eaa..a10870522 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
10120090616 10520090616
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
diff --git a/kexdhs.c b/kexdhs.c
index 861708818..a6719f672 100644
--- a/kexdhs.c
+++ b/kexdhs.c
@@ -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
diff --git a/kexgexs.c b/kexgexs.c
index 76a0f8ca7..8515568b3 100644
--- a/kexgexs.c
+++ b/kexgexs.c
@@ -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