Commit 006b54a8 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Oops use up to date patch for PR#2506

parent 44ddb27f
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -133,15 +133,26 @@ static void dtls1_clear_queues(SSL *s)
	{
    pitem *item = NULL;
    hm_fragment *frag = NULL;
	DTLS1_RECORD_DATA *rdata;

    while( (item = pqueue_pop(s->d1->unprocessed_rcds.q)) != NULL)
        {
		rdata = (DTLS1_RECORD_DATA *) item->data;
		if (rdata->rbuf.buf)
			{
			OPENSSL_free(rdata->rbuf.buf);
			}
        OPENSSL_free(item->data);
        pitem_free(item);
        }

    while( (item = pqueue_pop(s->d1->processed_rcds.q)) != NULL)
        {
		rdata = (DTLS1_RECORD_DATA *) item->data;
		if (rdata->rbuf.buf)
			{
			OPENSSL_free(rdata->rbuf.buf);
			}
        OPENSSL_free(item->data);
        pitem_free(item);
        }
+4 −1
Original line number Diff line number Diff line
@@ -150,6 +150,7 @@ int dtls1_accept(SSL *s)
	unsigned long alg_k;
	int ret= -1;
	int new_state,state,skip=0;
	int listen;

	RAND_add(&Time,sizeof(Time),0);
	ERR_clear_error();
@@ -160,6 +161,8 @@ int dtls1_accept(SSL *s)
	else if (s->ctx->info_callback != NULL)
		cb=s->ctx->info_callback;
	
	listen = s->d1->listen;

	/* init things to blank */
	s->in_handshake++;
	if (!SSL_in_init(s) || SSL_in_before(s)) SSL_clear(s);
@@ -274,7 +277,7 @@ int dtls1_accept(SSL *s)
			s->init_num=0;

			/* If we're just listening, stop here */
			if (s->d1->listen && s->state == SSL3_ST_SW_SRVR_HELLO_A)
			if (listen && s->state == SSL3_ST_SW_SRVR_HELLO_A)
				{
				ret = 2;
				s->d1->listen = 0;