diff options
-rw-r--r-- | usr.bin/ssh/auth2-gss.c | 6 | ||||
-rw-r--r-- | usr.bin/ssh/monitor.c | 6 | ||||
-rw-r--r-- | usr.bin/ssh/monitor_wrap.c | 6 | ||||
-rw-r--r-- | usr.bin/ssh/sshconnect2.c | 6 |
4 files changed, 16 insertions, 8 deletions
diff --git a/usr.bin/ssh/auth2-gss.c b/usr.bin/ssh/auth2-gss.c index c7651112d10..feb97d7c318 100644 --- a/usr.bin/ssh/auth2-gss.c +++ b/usr.bin/ssh/auth2-gss.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth2-gss.c,v 1.1 2003/08/22 10:56:08 markus Exp $ */ +/* $OpenBSD: auth2-gss.c,v 1.2 2003/08/24 17:36:51 deraadt Exp $ */ /* * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved. @@ -175,12 +175,14 @@ input_gssapi_errtok(int type, u_int32_t plen, void *ctxt) gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER; gss_buffer_desc recv_tok; OM_uint32 maj_status; + u_int len; if (authctxt == NULL || (authctxt->methoddata == NULL && !use_privsep)) fatal("No authentication or GSSAPI context"); gssctxt = authctxt->methoddata; - recv_tok.value = packet_get_string(&recv_tok.length); + recv_tok.value = packet_get_string(&len); + recv_tok.length = len; packet_check_eom(); diff --git a/usr.bin/ssh/monitor.c b/usr.bin/ssh/monitor.c index bb63e519fe6..017ca931eb9 100644 --- a/usr.bin/ssh/monitor.c +++ b/usr.bin/ssh/monitor.c @@ -25,7 +25,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: monitor.c,v 1.46 2003/08/22 10:56:09 markus Exp $"); +RCSID("$OpenBSD: monitor.c,v 1.47 2003/08/24 17:36:52 deraadt Exp $"); #include <openssl/dh.h> @@ -1634,8 +1634,10 @@ mm_answer_gss_accept_ctx(int socket, Buffer *m) gss_buffer_desc out = GSS_C_EMPTY_BUFFER; OM_uint32 major,minor; OM_uint32 flags = 0; /* GSI needs this */ + u_int len; - in.value = buffer_get_string(m, &in.length); + in.value = buffer_get_string(m, &len); + in.length = len; major = ssh_gssapi_accept_ctx(gsscontext, &in, &out, &flags); xfree(in.value); diff --git a/usr.bin/ssh/monitor_wrap.c b/usr.bin/ssh/monitor_wrap.c index a947e05de40..6686c9de383 100644 --- a/usr.bin/ssh/monitor_wrap.c +++ b/usr.bin/ssh/monitor_wrap.c @@ -25,7 +25,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: monitor_wrap.c,v 1.29 2003/08/22 10:56:09 markus Exp $"); +RCSID("$OpenBSD: monitor_wrap.c,v 1.30 2003/08/24 17:36:52 deraadt Exp $"); #include <openssl/bn.h> #include <openssl/dh.h> @@ -1005,6 +1005,7 @@ mm_ssh_gssapi_accept_ctx(Gssctxt *ctx, gss_buffer_desc *in, { Buffer m; OM_uint32 major; + u_int len; buffer_init(&m); buffer_put_string(&m, in->value, in->length); @@ -1013,7 +1014,8 @@ mm_ssh_gssapi_accept_ctx(Gssctxt *ctx, gss_buffer_desc *in, mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSSTEP, &m); major = buffer_get_int(&m); - out->value = buffer_get_string(&m, &out->length); + out->value = buffer_get_string(&m, &len); + out->length = len; if (flags) *flags = buffer_get_int(&m); diff --git a/usr.bin/ssh/sshconnect2.c b/usr.bin/ssh/sshconnect2.c index 1680d4d37dc..9c907dbc781 100644 --- a/usr.bin/ssh/sshconnect2.c +++ b/usr.bin/ssh/sshconnect2.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: sshconnect2.c,v 1.122 2003/08/22 13:20:03 markus Exp $"); +RCSID("$OpenBSD: sshconnect2.c,v 1.123 2003/08/24 17:36:52 deraadt Exp $"); #include "ssh.h" #include "ssh2.h" @@ -645,12 +645,14 @@ input_gssapi_errtok(int type, u_int32_t plen, void *ctxt) gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER; gss_buffer_desc recv_tok; OM_uint32 status, ms; + u_int len; if (authctxt == NULL) fatal("input_gssapi_response: no authentication context"); gssctxt = authctxt->methoddata; - recv_tok.value = packet_get_string(&recv_tok.length); + recv_tok.value = packet_get_string(&len); + recv_tok.length = len; packet_check_eom(); |