From: Volker Lendecke Date: Thu, 16 Aug 2018 11:18:14 +0000 (+0200) Subject: dbwrap_tdb: Avoid double-call to talloc_get_type_abort X-Git-Tag: tdb-1.3.17~1629 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b6b7c157583dae815e57781cbc4f66bd8d71e201;p=thirdparty%2Fsamba.git dbwrap_tdb: Avoid double-call to talloc_get_type_abort We've already retrieved "ctx" in the callers of db_tdb_fetch_locked_internal(). Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/lib/dbwrap/dbwrap_tdb.c b/lib/dbwrap/dbwrap_tdb.c index d695f3bd732..00d283c66e6 100644 --- a/lib/dbwrap/dbwrap_tdb.c +++ b/lib/dbwrap/dbwrap_tdb.c @@ -111,10 +111,11 @@ static int db_tdb_fetchlock_parse(TDB_DATA key, TDB_DATA data, } static struct db_record *db_tdb_fetch_locked_internal( - struct db_context *db, TALLOC_CTX *mem_ctx, TDB_DATA key) + struct db_context *db, + struct db_tdb_ctx *ctx, + TALLOC_CTX *mem_ctx, + TDB_DATA key) { - struct db_tdb_ctx *ctx = talloc_get_type_abort(db->private_data, - struct db_tdb_ctx); struct tdb_fetch_locked_state state; int ret; @@ -162,7 +163,7 @@ static struct db_record *db_tdb_fetch_locked( DEBUG(3, ("tdb_chainlock failed\n")); return NULL; } - return db_tdb_fetch_locked_internal(db, mem_ctx, key); + return db_tdb_fetch_locked_internal(db, ctx, mem_ctx, key); } static struct db_record *db_tdb_try_fetch_locked( @@ -176,7 +177,7 @@ static struct db_record *db_tdb_try_fetch_locked( DEBUG(3, ("tdb_chainlock_nonblock failed\n")); return NULL; } - return db_tdb_fetch_locked_internal(db, mem_ctx, key); + return db_tdb_fetch_locked_internal(db, ctx, mem_ctx, key); } static NTSTATUS db_tdb_do_locked(struct db_context *db, TDB_DATA key,