[ssh-keyscan.c]
     do not pass pointers to longjmp; fix from wayne@blorf.net
This commit is contained in:
Ben Lindstrom 2001-09-12 18:05:05 +00:00
parent d71ba5771b
commit 520b55c8c4
2 changed files with 9 additions and 6 deletions

View File

@ -70,6 +70,9 @@
[auth-options.c sshd.8]
validate ports for permitopen key file option. add host/port
alternative syntax for IPv6. ok markus@
- markus@cvs.openbsd.org 2001/08/30 22:22:32
[ssh-keyscan.c]
do not pass pointers to longjmp; fix from wayne@blorf.net
20010815
- (bal) Fixed stray code in readconf.c that went in by mistake.
@ -6393,4 +6396,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
$Id: ChangeLog,v 1.1505 2001/09/12 18:03:31 mouring Exp $
$Id: ChangeLog,v 1.1506 2001/09/12 18:05:05 mouring Exp $

View File

@ -7,7 +7,7 @@
*/
#include "includes.h"
RCSID("$OpenBSD: ssh-keyscan.c,v 1.28 2001/08/27 22:02:13 danh Exp $");
RCSID("$OpenBSD: ssh-keyscan.c,v 1.29 2001/08/30 22:22:32 markus Exp $");
#if defined(HAVE_SYS_QUEUE_H) && !defined(HAVE_BOGUS_SYS_QUEUE_H)
#include <sys/queue.h>
@ -68,6 +68,7 @@ size_t read_wait_size;
int ncon;
int nonfatal_fatal = 0;
jmp_buf kexjmp;
Key *kexjmp_key;
/*
* Keep a connection structure for each file descriptor. The state
@ -322,7 +323,8 @@ keygrab_ssh1(con *c)
static int
hostjump(Key *hostkey)
{
longjmp(kexjmp, (int)hostkey);
kexjmp_key = hostkey;
longjmp(kexjmp, 1);
}
static int
@ -363,10 +365,8 @@ keygrab_ssh2(con *c)
xfree(c->c_kex);
c->c_kex = NULL;
packet_close();
if (j < 0)
j = 0;
return (Key*)(j);
return j < 0? NULL : kexjmp_key;
}
static void