From 10b9817e978c37a8193dea17e5dd894913fec728 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Wed, 4 Jun 2014 17:42:46 +0200 Subject: DER decoding: optimize tail seek by using the value providing by _asn1_append_sequence_set. --- lib/decoding.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/decoding.c b/lib/decoding.c index 199580c..5f5d55b 100644 --- a/lib/decoding.c +++ b/lib/decoding.c @@ -1292,9 +1292,7 @@ asn1_der_decoding (asn1_node * element, const void *ider, int ider_len, if (!HAVE_TWO(ider_len) || ((der[counter]) || der[counter + 1])) { _asn1_append_sequence_set (p, &ptail); - p = p->down; - while (p->right) - p = p->right; + p = ptail; move = RIGHT; continue; } @@ -1309,9 +1307,7 @@ asn1_der_decoding (asn1_node * element, const void *ider, int ider_len, if (len2 > counter) { _asn1_append_sequence_set (p, &ptail); - p = p->down; - while (p->right) - p = p->right; + p = ptail; move = RIGHT; continue; } -- cgit v1.2.3