mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-18 21:26:29 -05:00
ITS#10414 Do not replace tool's provided buffer
This commit is contained in:
parent
1668b5c432
commit
176680e824
1 changed files with 11 additions and 9 deletions
|
|
@ -8040,6 +8040,8 @@ config_tool_entry_put( BackendDB *be, Entry *e, struct berval *text )
|
|||
strncmp( e->e_nname.bv_val +
|
||||
STRLENOF( "olcDatabase" ), "=frontend",
|
||||
STRLENOF( "=frontend" ))) {
|
||||
struct berval message = BER_BVC("autocreation of \"olcDatabase={-1}frontend\" failed");
|
||||
|
||||
memset( &ca, 0, sizeof(ConfigArgs));
|
||||
ca.be = frontendDB;
|
||||
ca.bi = frontendDB->bd_info;
|
||||
|
|
@ -8061,8 +8063,7 @@ config_tool_entry_put( BackendDB *be, Entry *e, struct berval *text )
|
|||
op->o_ndn = be->be_rootndn;
|
||||
rc = slap_add_opattrs(op, NULL, NULL, 0, 0);
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
text->bv_val = "autocreation of \"olcDatabase={-1}frontend\" failed";
|
||||
text->bv_len = STRLENOF("autocreation of \"olcDatabase={-1}frontend\" failed");
|
||||
ber_bvreplace( text, &message );
|
||||
return NOID;
|
||||
}
|
||||
|
||||
|
|
@ -8070,8 +8071,7 @@ config_tool_entry_put( BackendDB *be, Entry *e, struct berval *text )
|
|||
bi->bi_tool_entry_put( &cfb->cb_db, ce, text ) != NOID ) {
|
||||
cfb->cb_got_ldif |= BCONFIG_GOT_FRONTEND;
|
||||
} else {
|
||||
text->bv_val = "autocreation of \"olcDatabase={-1}frontend\" failed";
|
||||
text->bv_len = STRLENOF("autocreation of \"olcDatabase={-1}frontend\" failed");
|
||||
ber_bvreplace( text, &message );
|
||||
return NOID;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -8117,6 +8117,8 @@ config_tool_entry_put( BackendDB *be, Entry *e, struct berval *text )
|
|||
strncmp( e->e_nname.bv_val +
|
||||
STRLENOF( "olcDatabase" ), "=config",
|
||||
STRLENOF( "=config" )) ) {
|
||||
struct berval message = BER_BVC("autocreation of \"olcDatabase={0}config\" failed");
|
||||
|
||||
memset( &ca, 0, sizeof(ConfigArgs));
|
||||
ca.be = LDAP_STAILQ_FIRST( &backendDB );
|
||||
ca.bi = ca.be->bd_info;
|
||||
|
|
@ -8139,16 +8141,14 @@ config_tool_entry_put( BackendDB *be, Entry *e, struct berval *text )
|
|||
op->ora_e = ce;
|
||||
rc = slap_add_opattrs(op, NULL, NULL, 0, 0);
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
text->bv_val = "autocreation of \"olcDatabase={0}config\" failed";
|
||||
text->bv_len = STRLENOF("autocreation of \"olcDatabase={0}config\" failed");
|
||||
ber_bvreplace( text, &message );
|
||||
return NOID;
|
||||
}
|
||||
if (ce && bi && bi->bi_tool_entry_put &&
|
||||
bi->bi_tool_entry_put( &cfb->cb_db, ce, text ) != NOID ) {
|
||||
cfb->cb_got_ldif |= BCONFIG_GOT_CONFIG;
|
||||
} else {
|
||||
text->bv_val = "autocreation of \"olcDatabase={0}config\" failed";
|
||||
text->bv_len = STRLENOF("autocreation of \"olcDatabase={0}config\" failed");
|
||||
ber_bvreplace( text, &message );
|
||||
return NOID;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -8160,7 +8160,9 @@ config_tool_entry_put( BackendDB *be, Entry *e, struct berval *text )
|
|||
config_add_internal( cfb, e, &ca, NULL, NULL, NULL ) == 0 )
|
||||
return bi->bi_tool_entry_put( &cfb->cb_db, e, text );
|
||||
else {
|
||||
ber_str2bv( ca.cr_msg, 0, 0, text );
|
||||
struct berval bv;
|
||||
ber_str2bv( ca.cr_msg, 0, 0, &bv );
|
||||
ber_bvreplace( text, &bv );
|
||||
return NOID;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue