Make disabling last cipher work.

(cherry picked from commit 7cb472bd0d0fd9da3d42bed1acc56c3a79fc5328)
This commit is contained in:
Thijs Alkemade 2014-07-02 03:32:19 +01:00 committed by Dr. Stephen Henson
parent 9223a31eb7
commit 8f243ab6c1

View File

@ -932,7 +932,7 @@ static void ssl_cipher_apply_rule(unsigned long cipher_id,
int rule, int strength_bits, int rule, int strength_bits,
CIPHER_ORDER **head_p, CIPHER_ORDER **tail_p) CIPHER_ORDER **head_p, CIPHER_ORDER **tail_p)
{ {
CIPHER_ORDER *head, *tail, *curr, *curr2, *last; CIPHER_ORDER *head, *tail, *curr, *next, *last;
const SSL_CIPHER *cp; const SSL_CIPHER *cp;
int reverse = 0; int reverse = 0;
@ -949,21 +949,25 @@ static void ssl_cipher_apply_rule(unsigned long cipher_id,
if (reverse) if (reverse)
{ {
curr = tail; next = tail;
last = head; last = head;
} }
else else
{ {
curr = head; next = head;
last = tail; last = tail;
} }
curr2 = curr; curr = NULL;
for (;;) for (;;)
{ {
if ((curr == NULL) || (curr == last)) break; if (curr == last) break;
curr = curr2;
curr2 = reverse ? curr->prev : curr->next; curr = next;
if (curr == NULL) break;
next = reverse ? curr->prev : curr->next;
cp = curr->cipher; cp = curr->cipher;