1
0
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:
Simo Sorce 2006-08-01 03:22:02 +00:00 committed by Gerald (Jerry) Carter
parent 26bc7dbed9
commit 97c4d41a30
2 changed files with 28 additions and 27 deletions

View File

@ -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;

View File

@ -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;
}