****************************************************************************/
static bool init_group_mapping(void)
{
- const char *ldb_path;
+ char *tdb_path;
+ char *ldb_path;
if (db != NULL) {
return true;
}
- db = db_open(NULL, state_path("group_mapping.tdb"), 0,
+ tdb_path = state_path("group_mapping.tdb");
+ if (tdb_path == NULL) {
+ return false;
+ }
+ db = db_open(NULL, tdb_path, 0,
TDB_DEFAULT, O_RDWR|O_CREAT, 0600,
DBWRAP_LOCK_ORDER_1, DBWRAP_FLAG_NONE);
if (db == NULL) {
DEBUG(0, ("Failed to open group mapping database: %s\n",
strerror(errno)));
+ talloc_free(tdb_path);
return false;
}
ldb_path = state_path("group_mapping.ldb");
+ if (ldb_path == NULL) {
+ return false;
+ }
if (file_exist(ldb_path) && !mapping_switch(ldb_path)) {
- unlink(state_path("group_mapping.tdb"));
+ unlink(tdb_path);
+ talloc_free(tdb_path);
+ talloc_free(ldb_path);
return false;
} else {
}
#endif
}
+ talloc_free(tdb_path);
+ talloc_free(ldb_path);
return true;
}