--- libraries/liblber/decode.c 2003/03/04 08:16:57 1.91 +++ libraries/liblber/decode.c 2003/03/12 01:33:53 1.92 @@ -1,5 +1,5 @@ /* decode.c - ber input decoding routines */ -/* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.90 2003/03/03 14:54:49 hyc Exp $ */ +/* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.91 2003/03/04 08:16:57 ando Exp $ */ /* * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file @@ -316,13 +316,12 @@ ber_get_stringbvl( bgbvr *b, ber_len_t * struct berval bv, *bvp = NULL; orig = b->ber->ber_ptr; + tag = b->ber->ber_tag; - tag = ber_first_element( b->ber, &len, &last ); - if ( tag != LBER_DEFAULT ) { + if ( ber_first_element( b->ber, &len, &last ) != LBER_DEFAULT ) { for ( ; b->ber->ber_ptr < last; i++ ) { - tag = ber_skip_tag( b->ber, &len ); - if (tag == LBER_DEFAULT) break; + if (ber_skip_tag( b->ber, &len ) == LBER_DEFAULT) break; b->ber->ber_ptr += len; } } @@ -366,6 +365,7 @@ ber_get_stringbvl( bgbvr *b, ber_len_t * break; } b->ber->ber_ptr = orig; + b->ber->ber_tag = tag; ber_skip_tag( b->ber, &len ); for (n=0; n