mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
r17350: Avoid a couple of memleaks, unnecessary code and use a more linear style
This commit is contained in:
parent
26bc7dbed9
commit
97c4d41a30
@ -502,6 +502,22 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
|
||||
*/
|
||||
#define LDB_EXTENDED_START_TLS_OID "1.3.6.1.4.1.1466.20037"
|
||||
|
||||
/**
|
||||
OID for LDAP Extended Operation START_TLS.
|
||||
|
||||
This Extended operation is used to start a new TLS
|
||||
channel on top of a clear text channel.
|
||||
*/
|
||||
#define LDB_EXTENDED_DYNAMIC_OID "1.3.6.1.4.1.1466.101.119.1"
|
||||
|
||||
/**
|
||||
OID for LDAP Extended Operation START_TLS.
|
||||
|
||||
This Extended operation is used to start a new TLS
|
||||
channel on top of a clear text channel.
|
||||
*/
|
||||
#define LDB_EXTENDED_FAST_BIND_OID "1.2.840.113556.1.4.1781"
|
||||
|
||||
struct ldb_paged_control {
|
||||
int size;
|
||||
int cookie_len;
|
||||
|
@ -270,41 +270,26 @@ static int ltdb_add_internal(struct ldb_module *module, const struct ldb_message
|
||||
}
|
||||
|
||||
ret = ltdb_store(module, msg, TDB_INSERT);
|
||||
switch (ret) {
|
||||
case LDB_SUCCESS:
|
||||
{
|
||||
TALLOC_CTX *mem_ctx = talloc_new(module);
|
||||
|
||||
if (ret == LDB_ERR_ENTRY_ALREADY_EXISTS) {
|
||||
char *dn;
|
||||
dn = ldb_dn_linearize(mem_ctx, msg->dn);
|
||||
|
||||
dn = ldb_dn_linearize(module, msg->dn);
|
||||
if (!dn) {
|
||||
break;
|
||||
return ret;
|
||||
}
|
||||
ldb_set_errstring(module->ldb, talloc_asprintf(module, "Entry %s already exists", dn));
|
||||
talloc_free(dn);
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (ret == LDB_SUCCESS) {
|
||||
ret = ltdb_modified(module, msg->dn);
|
||||
if (ret != LDB_SUCCESS) {
|
||||
return LDB_ERR_OPERATIONS_ERROR;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LDB_ERR_ENTRY_ALREADY_EXISTS:
|
||||
{
|
||||
TALLOC_CTX *mem_ctx = talloc_new(module);
|
||||
char *errstring, *dn;
|
||||
if (!mem_ctx) {
|
||||
break;
|
||||
}
|
||||
dn = ldb_dn_linearize(mem_ctx, msg->dn);
|
||||
if (!dn) {
|
||||
break;
|
||||
}
|
||||
errstring = talloc_asprintf(mem_ctx, "Entry %s already exists",
|
||||
dn);
|
||||
ldb_set_errstring(module->ldb, errstring);
|
||||
talloc_free(mem_ctx);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user