diff options
Diffstat (limited to 'source4/lib')
-rw-r--r-- | source4/lib/ldb/ldb_ildap/ldb_ildap.c | 9 | ||||
-rw-r--r-- | source4/lib/ldb/tools/ldbmodify.c | 2 | ||||
-rw-r--r-- | source4/lib/ldb/tools/ldbtest.c | 1 |
3 files changed, 9 insertions, 3 deletions
diff --git a/source4/lib/ldb/ldb_ildap/ldb_ildap.c b/source4/lib/ldb/ldb_ildap/ldb_ildap.c index 3f63af482f..6560485be5 100644 --- a/source4/lib/ldb/ldb_ildap/ldb_ildap.c +++ b/source4/lib/ldb/ldb_ildap/ldb_ildap.c @@ -340,7 +340,11 @@ static int ildb_unlock(struct ldb_module *module, const char *lockname) */ static const char *ildb_errstring(struct ldb_module *module) { - struct ildb_private *ildb = module->private_data; + struct ildb_private *ildb = talloc_get_type(module->private_data, + struct ildb_private); + if (ildb == NULL) { + return "ildap not connected"; + } return ldap_errstr(ildb->ldap, ildb->last_rc); } @@ -427,6 +431,9 @@ int ildb_connect(struct ldb_context *ldb, const char *url, return 0; failed: + if (ldb->modules) { + ldb->modules->private_data = NULL; + } talloc_free(ildb); return -1; } diff --git a/source4/lib/ldb/tools/ldbmodify.c b/source4/lib/ldb/tools/ldbmodify.c index 39725b195d..8fa0dcf0b6 100644 --- a/source4/lib/ldb/tools/ldbmodify.c +++ b/source4/lib/ldb/tools/ldbmodify.c @@ -93,7 +93,7 @@ static int process_file(struct ldb_context *ldb, FILE *f) { struct ldb_context *ldb; int count=0; - int i, ret; + int i; struct ldb_cmdline *options; ldb = ldb_init(NULL); diff --git a/source4/lib/ldb/tools/ldbtest.c b/source4/lib/ldb/tools/ldbtest.c index 28ac7545a4..7c7164c785 100644 --- a/source4/lib/ldb/tools/ldbtest.c +++ b/source4/lib/ldb/tools/ldbtest.c @@ -353,7 +353,6 @@ static void usage(void) { TALLOC_CTX *mem_ctx = talloc_new(NULL); struct ldb_context *ldb; - int ret; ldb = ldb_init(mem_ctx); |