summaryrefslogtreecommitdiffstats
path: root/lib/libssl/src/ssl/s23_srvr.c
diff options
context:
space:
mode:
authorjsing <jsing@openbsd.org>2015-03-27 12:29:54 +0000
committerjsing <jsing@openbsd.org>2015-03-27 12:29:54 +0000
commit4c5ec7da26a11a298d79cded54aa76d431fdda94 (patch)
tree59e19ccbcd28ea53aebc59248e7f35610a5d20e4 /lib/libssl/src/ssl/s23_srvr.c
parentBUF_MEM_free() has its own explicit NULL check. (diff)
downloadwireguard-openbsd-4c5ec7da26a11a298d79cded54aa76d431fdda94.tar.xz
wireguard-openbsd-4c5ec7da26a11a298d79cded54aa76d431fdda94.zip
Factor out the init_buf initialisation code, rather than duplicating it
in four different places. ok doug@ guenther@
Diffstat (limited to 'lib/libssl/src/ssl/s23_srvr.c')
-rw-r--r--lib/libssl/src/ssl/s23_srvr.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/lib/libssl/src/ssl/s23_srvr.c b/lib/libssl/src/ssl/s23_srvr.c
index 9e0ee453db3..99bfaf07e4b 100644
--- a/lib/libssl/src/ssl/s23_srvr.c
+++ b/lib/libssl/src/ssl/s23_srvr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: s23_srvr.c,v 1.38 2015/02/06 08:30:23 jsing Exp $ */
+/* $OpenBSD: s23_srvr.c,v 1.39 2015/03/27 12:29:54 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -207,20 +207,10 @@ ssl23_accept(SSL *s)
/* s->version=SSL3_VERSION; */
s->type = SSL_ST_ACCEPT;
- if (s->init_buf == NULL) {
- BUF_MEM *buf;
- if ((buf = BUF_MEM_new()) == NULL) {
- ret = -1;
- goto end;
- }
- if (!BUF_MEM_grow(buf, SSL3_RT_MAX_PLAIN_LENGTH)) {
- BUF_MEM_free(buf);
- ret = -1;
- goto end;
- }
- s->init_buf = buf;
+ if (!ssl3_setup_init_buffer(s)) {
+ ret = -1;
+ goto end;
}
-
if (!ssl3_init_finished_mac(s)) {
ret = -1;
goto end;
@@ -255,10 +245,12 @@ ssl23_accept(SSL *s)
s->state = new_state;
}
}
+
end:
s->in_handshake--;
if (cb != NULL)
cb(s, SSL_CB_ACCEPT_EXIT, ret);
+
return (ret);
}