[PATCH] leases_db: don't leak lock_path onto talloc tos
David Disseldorp
ddiss at samba.org
Mon Jan 12 08:49:54 MST 2015
Also check for allocation failures.
Signed-off-by: David Disseldorp <ddiss at samba.org>
---
source3/locking/leases_db.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/source3/locking/leases_db.c b/source3/locking/leases_db.c
index 2ee6a26..4167ef7 100644
--- a/source3/locking/leases_db.c
+++ b/source3/locking/leases_db.c
@@ -35,16 +35,23 @@ static struct db_context *leases_db;
bool leases_db_init(bool read_only)
{
+ char *db_path;
+
if (leases_db) {
return true;
}
- leases_db = db_open(NULL, lock_path("leases.tdb"), 0,
+ db_path = lock_path("leases.tdb");
+ if (db_path == NULL) {
+ return false;
+ }
+
+ leases_db = db_open(NULL, db_path, 0,
TDB_DEFAULT|TDB_VOLATILE|TDB_CLEAR_IF_FIRST|
TDB_INCOMPATIBLE_HASH,
read_only ? O_RDONLY : O_RDWR|O_CREAT, 0644,
DBWRAP_LOCK_ORDER_2, DBWRAP_FLAG_NONE);
-
+ TALLOC_FREE(db_path);
if (leases_db == NULL) {
DEBUG(1, ("ERROR: Failed to initialise leases database\n"));
return false;
--
2.1.2
More information about the samba-technical
mailing list