mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-18 11:05:48 +08:00
Fix prev commit, no recursion allowed in glue_sub_attach
This commit is contained in:
parent
84374348e5
commit
044b646445
@ -949,6 +949,7 @@ typedef struct glue_Addrec {
|
|||||||
|
|
||||||
/* List of added subordinates */
|
/* List of added subordinates */
|
||||||
static glue_Addrec *ga_list;
|
static glue_Addrec *ga_list;
|
||||||
|
static int ga_adding;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
glue_db_init(
|
glue_db_init(
|
||||||
@ -1087,6 +1088,11 @@ glue_sub_attach( int online )
|
|||||||
glue_Addrec *ga, *gnext = NULL;
|
glue_Addrec *ga, *gnext = NULL;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
|
if ( ga_adding )
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
ga_adding = 1;
|
||||||
|
|
||||||
/* For all the subordinate backends */
|
/* For all the subordinate backends */
|
||||||
for ( ga=ga_list; ga != NULL; ga = gnext ) {
|
for ( ga=ga_list; ga != NULL; ga = gnext ) {
|
||||||
BackendDB *be;
|
BackendDB *be;
|
||||||
@ -1135,8 +1141,11 @@ glue_sub_attach( int online )
|
|||||||
/* allow this for now, assume a superior will
|
/* allow this for now, assume a superior will
|
||||||
* be added later
|
* be added later
|
||||||
*/
|
*/
|
||||||
if ( online )
|
if ( online ) {
|
||||||
return 0;
|
rc = 0;
|
||||||
|
gnext = ga_list;
|
||||||
|
break;
|
||||||
|
}
|
||||||
rc = LDAP_NO_SUCH_OBJECT;
|
rc = LDAP_NO_SUCH_OBJECT;
|
||||||
}
|
}
|
||||||
ch_free( ga );
|
ch_free( ga );
|
||||||
@ -1145,6 +1154,8 @@ glue_sub_attach( int online )
|
|||||||
|
|
||||||
ga_list = gnext;
|
ga_list = gnext;
|
||||||
|
|
||||||
|
ga_adding = 0;
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user