mirror of
https://github.com/samba-team/samba.git
synced 2024-12-27 03:21:53 +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"
|
#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 {
|
struct ldb_paged_control {
|
||||||
int size;
|
int size;
|
||||||
int cookie_len;
|
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);
|
ret = ltdb_store(module, msg, TDB_INSERT);
|
||||||
switch (ret) {
|
|
||||||
case LDB_SUCCESS:
|
if (ret == LDB_ERR_ENTRY_ALREADY_EXISTS) {
|
||||||
{
|
|
||||||
TALLOC_CTX *mem_ctx = talloc_new(module);
|
|
||||||
char *dn;
|
char *dn;
|
||||||
dn = ldb_dn_linearize(mem_ctx, msg->dn);
|
|
||||||
|
dn = ldb_dn_linearize(module, msg->dn);
|
||||||
if (!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);
|
ret = ltdb_modified(module, msg->dn);
|
||||||
if (ret != LDB_SUCCESS) {
|
if (ret != LDB_SUCCESS) {
|
||||||
return LDB_ERR_OPERATIONS_ERROR;
|
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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user