]> git.sur5r.net Git - openldap/commitdiff
fix previous commit
authorPierangelo Masarati <ando@openldap.org>
Thu, 4 Jan 2007 19:26:59 +0000 (19:26 +0000)
committerPierangelo Masarati <ando@openldap.org>
Thu, 4 Jan 2007 19:26:59 +0000 (19:26 +0000)
libraries/libldap/result.c

index 804f5d671c5471204810a7de40f3f1b8b95cde01..21d2658dfb00ff40b6c43a542032d40b0d1e651d 100644 (file)
@@ -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;
                }
        }