From 92f856c51380b67ecd2e175a6ad0237d34b0eaff Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 8 Feb 2011 23:16:31 +0100 Subject: s3:net idmap: fix error reporting in net_idmap_dbfile() The last case which results in dbfile == NULL is not an out of memory case but means no --db has been specified and the idmap backend is not supported for auto-determining the idmap tdb file. --- source3/utils/net_idmap.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'source3/utils/net_idmap.c') diff --git a/source3/utils/net_idmap.c b/source3/utils/net_idmap.c index 525ca951a9..42f1172ad2 100644 --- a/source3/utils/net_idmap.c +++ b/source3/utils/net_idmap.c @@ -61,14 +61,23 @@ static const char* net_idmap_dbfile(struct net_context *c) if (c->opt_db != NULL) { dbfile = talloc_strdup(talloc_tos(), c->opt_db); + if (dbfile == NULL) { + d_fprintf(stderr, _("Out of memory!\n")); + } } else if (strequal(lp_idmap_backend(), "tdb")) { dbfile = state_path("winbindd_idmap.tdb"); + if (dbfile == NULL) { + d_fprintf(stderr, _("Out of memory!\n")); + } } else if (strequal(lp_idmap_backend(), "tdb2")) { dbfile = lp_parm_talloc_string(-1, "tdb", "idmap2.tdb", NULL); if (dbfile == NULL) { dbfile = talloc_asprintf(talloc_tos(), "%s/idmap2.tdb", lp_private_dir()); } + if (dbfile == NULL) { + d_fprintf(stderr, _("Out of memory!\n")); + } } else { char* backend = talloc_strdup(talloc_tos(), lp_idmap_backend()); char* args = strchr(backend, ':'); @@ -81,9 +90,7 @@ static const char* net_idmap_dbfile(struct net_context *c) talloc_free(backend); } - if (dbfile == NULL) { - DEBUG(0,("Out of memory\n")); - } + return dbfile; } -- cgit