From 896f10301cc3db10793cac115bcbca0f58f0f010 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 17 Aug 2010 14:55:23 +1000 Subject: s4-dsdb: check the type of session_info from the opaque we saw a crash with a bad pointer here, and this may help track it down Pair-Programmed-With: Andrew Bartlett --- source4/dsdb/samdb/ldb_modules/util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source4/dsdb/samdb/ldb_modules/util.c') diff --git a/source4/dsdb/samdb/ldb_modules/util.c b/source4/dsdb/samdb/ldb_modules/util.c index fda1733f62..23a8da2228 100644 --- a/source4/dsdb/samdb/ldb_modules/util.c +++ b/source4/dsdb/samdb/ldb_modules/util.c @@ -906,7 +906,7 @@ bool dsdb_module_am_system(struct ldb_module *module) { struct ldb_context *ldb = ldb_module_get_ctx(module); struct auth_session_info *session_info - = (struct auth_session_info *)ldb_get_opaque(ldb, "sessionInfo"); + = talloc_get_type(ldb_get_opaque(ldb, "sessionInfo"), struct auth_session_info); return security_session_user_level(session_info, NULL) == SECURITY_SYSTEM; } @@ -914,7 +914,7 @@ bool dsdb_module_am_administrator(struct ldb_module *module) { struct ldb_context *ldb = ldb_module_get_ctx(module); struct auth_session_info *session_info - = (struct auth_session_info *)ldb_get_opaque(ldb, "sessionInfo"); + = talloc_get_type(ldb_get_opaque(ldb, "sessionInfo"), struct auth_session_info); return security_session_user_level(session_info, NULL) == SECURITY_ADMINISTRATOR; } -- cgit