From: Pierangelo Masarati Date: Thu, 4 Jan 2007 19:26:59 +0000 (+0000) Subject: fix previous commit X-Git-Tag: OPENLDAP_REL_ENG_2_4_4ALPHA~8^2~259 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8cb4f6b3486ba5c8064065b8af070d9f80b071e8;p=openldap fix previous commit --- diff --git a/libraries/libldap/result.c b/libraries/libldap/result.c index 804f5d671c..21d2658dfb 100644 --- a/libraries/libldap/result.c +++ b/libraries/libldap/result.c @@ -906,14 +906,14 @@ nextresp2: if ( id == 0 && msgid > LDAP_RES_UNSOLICITED ) { int is_nod = 0; - tag = ber_peek_tag( ber, &len ); + tag = ber_peek_tag( &tmpber, &len ); /* we have a res oid */ if ( tag == LDAP_TAG_EXOP_RES_OID ) { static struct berval bv_nod = BER_BVC( LDAP_NOTICE_OF_DISCONNECTION ); struct berval resoid = BER_BVNULL; - if ( ber_scanf( ber, "m", &resoid ) == LBER_ERROR ) { + if ( ber_scanf( &tmpber, "m", &resoid ) == LBER_ERROR ) { ld->ld_errno = LDAP_DECODING_ERROR; ber_free( ber, 1 ); return -1; @@ -923,7 +923,7 @@ nextresp2: is_nod = ber_bvcmp( &resoid, &bv_nod ) == 0; - tag = ber_peek_tag( ber, &len ); + tag = ber_peek_tag( &tmpber, &len ); } #if 0 /* don't need right now */ @@ -931,7 +931,7 @@ nextresp2: if ( tag == LDAP_TAG_EXOP_RES_VALUE ) { struct berval resdata; - if ( ber_scanf( ber, "m", &resdata ) == LBER_ERROR ) { + if ( ber_scanf( &tmpber, "m", &resdata ) == LBER_ERROR ) { ld->ld_errno = LDAP_DECODING_ERROR; ber_free( ber, 0 ); return ld->ld_errno; @@ -962,7 +962,9 @@ nextresp2: *lcp = NULL; } - return LDAP_RES_EXTENDED; + /* need to return -1, because otherwise + * a valid result is expected */ + return -1; } }