summaryrefslogtreecommitdiffstats
path: root/crypto/openssl/ssl/s2_lib.c
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2001-02-18 03:23:30 +0000
committerkris <kris@FreeBSD.org>2001-02-18 03:23:30 +0000
commit4fef76e9661cf14f1d4981cb591e0e0f8b98f79e (patch)
tree2d9bd3818f04f8a88b80a3d42f4aeb99c9633f96 /crypto/openssl/ssl/s2_lib.c
parent68872806ec431f68f28b6df4a1862f8eb60a4cb7 (diff)
downloadFreeBSD-src-4fef76e9661cf14f1d4981cb591e0e0f8b98f79e.zip
FreeBSD-src-4fef76e9661cf14f1d4981cb591e0e0f8b98f79e.tar.gz
Resolve conflicts
Diffstat (limited to 'crypto/openssl/ssl/s2_lib.c')
-rw-r--r--crypto/openssl/ssl/s2_lib.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/crypto/openssl/ssl/s2_lib.c b/crypto/openssl/ssl/s2_lib.c
index c64c8d8..a524dab 100644
--- a/crypto/openssl/ssl/s2_lib.c
+++ b/crypto/openssl/ssl/s2_lib.c
@@ -262,7 +262,7 @@ SSL_CIPHER *ssl2_get_cipher(unsigned int u)
int ssl2_pending(SSL *s)
{
- return(s->s2->ract_data_length);
+ return SSL_in_init(s) ? 0 : s->s2->ract_data_length;
}
int ssl2_new(SSL *s)
@@ -272,10 +272,16 @@ int ssl2_new(SSL *s)
if ((s2=OPENSSL_malloc(sizeof *s2)) == NULL) goto err;
memset(s2,0,sizeof *s2);
+#if SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER + 3 > SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER + 2
+# error "assertion failed"
+#endif
+
if ((s2->rbuf=OPENSSL_malloc(
SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER+2)) == NULL) goto err;
+ /* wbuf needs one byte more because when using two-byte headers,
+ * we leave the first byte unused in do_ssl_write (s2_pkt.c) */
if ((s2->wbuf=OPENSSL_malloc(
- SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER+2)) == NULL) goto err;
+ SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER+3)) == NULL) goto err;
s->s2=s2;
ssl2_clear(s);
OpenPOWER on IntegriCloud