mirror of git://anongit.mindrot.org/openssh.git
- markus@cvs.openbsd.org 2001/08/30 22:22:32
[ssh-keyscan.c] do not pass pointers to longjmp; fix from wayne@blorf.net
This commit is contained in:
parent
d71ba5771b
commit
520b55c8c4
|
@ -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 $
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue