0.9.8 version of PR#1931 fix.
authorDr. Stephen Henson <steve@openssl.org>
Mon, 18 May 2009 16:22:43 +0000 (16:22 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 18 May 2009 16:22:43 +0000 (16:22 +0000)
ssl/d1_both.c

index 63d00062f2aaba8ece742b01646a2ceff298cc00..fb74ed2763fd76ac10c76a2340e2cd272ed2cca2 100644 (file)
@@ -562,10 +562,10 @@ dtls1_process_out_of_seq_message(SSL *s, struct hm_header_st* msg_hdr, int *ok)
                goto err;
 
        /* Try to find item in queue, to prevent duplicate entries */
-       memset(seq64be,0,sizeof(seq64be));
-       seq64be[6] = (unsigned char) (msg_hdr->seq>>8);
-       seq64be[7] = (unsigned char) msg_hdr->seq;
-       item = pqueue_find(s->d1->buffered_messages, seq64be);
+       pq_64bit_init(&seq64);
+       pq_64bit_assign_word(&seq64, msg_hdr->seq);
+       item = pqueue_find(s->d1->buffered_messages, seq64);
+       pq_64bit_free(&seq64);
        
        /* Discard the message if sequence number was already there, is
         * too far in the future or the fragment is already in the queue */