Type-checked (and modern C compliant) OBJ_bsearch.
[openssl.git] / ssl / s23_clnt.c
index 78c39d9af558bf1137a52017f33aad913cc4cccc..cc6c527f19fdcc9507e06682fc0d9dc2cfaffd7e 100644 (file)
@@ -276,7 +276,7 @@ static int ssl23_client_hello(SSL *s)
                {
                version = SSL2_VERSION;
                }
-
+#ifndef OPENSSL_NO_TLSEXT
        if (version != SSL2_VERSION)
                {
                /* have to disable SSL 2.0 compatibility if we need TLS extensions */
@@ -291,6 +291,7 @@ static int ssl23_client_hello(SSL *s)
                        ssl2_compat = 0;
 #endif
                }
+#endif
 
        buf=(unsigned char *)s->init_buf->data;
        if (s->state == SSL23_ST_CW_CLNT_HELLO_A)
@@ -640,6 +641,9 @@ static int ssl23_get_server_hello(SSL *s)
                 * for SSLv3 */
                s->rstate=SSL_ST_READ_HEADER;
                s->packet_length=n;
+               if (s->s3->rbuf.buf == NULL)
+                       if (!ssl3_setup_read_buffer(s))
+                               goto err;
                s->packet= &(s->s3->rbuf.buf[0]);
                memcpy(s->packet,buf,n);
                s->s3->rbuf.left=n;