diff options
author | Darren Tucker <dtucker@zip.com.au> | 2009-06-21 19:00:20 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2009-06-21 19:00:20 +1000 |
commit | 6ae35ac5762b6abcbd416e7db9246e730b401f10 (patch) | |
tree | bbb2d11b32d447355ef49ff3bfe42488e0d613d1 /kexgexs.c | |
parent | 7b935c79f4f31da21989cc441caee247af417b3b (diff) |
- dtucker@cvs.openbsd.org 2009/06/21 07:37:15
[kexdhs.c kexgexs.c]
abort if key_sign fails, preventing possible null deref. Based on report
from Paolo Ganci, ok markus@ djm@
Diffstat (limited to 'kexgexs.c')
-rw-r--r-- | kexgexs.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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 | ||