From e34106ca8b001d75182975a89145ded75dc6619d Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 23 Oct 2009 14:58:09 +1100 Subject: s4:dsdb 'attrs' must be static (otherwise segv with async) The async code makes this really easy to mess up... Andrew Bartlett --- source4/dsdb/samdb/ldb_modules/new_partition.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source4/dsdb/samdb/ldb_modules/new_partition.c b/source4/dsdb/samdb/ldb_modules/new_partition.c index c497d97aa5..47394f4e06 100644 --- a/source4/dsdb/samdb/ldb_modules/new_partition.c +++ b/source4/dsdb/samdb/ldb_modules/new_partition.c @@ -151,7 +151,8 @@ static int new_partition_add(struct ldb_module *module, struct ldb_request *req) if (!ldb_msg_find_element(req->op.add.message, "instanceType")) { return ldb_next_request(module, req); } else { - const char *no_attrs[] = { NULL }; + /* This needs to be 'static' to ensure it does not move, and is not on the stack */ + static const char *no_attrs[] = { NULL }; unsigned int instanceType = ldb_msg_find_attr_as_uint(req->op.add.message, "instanceType", 0); if (!(instanceType & INSTANCE_TYPE_IS_NC_HEAD)) { return ldb_next_request(module, req); -- cgit