From 47ae4a518c5eb7c02d3f6c65f64d2ac490a90e83 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 16 Jun 2010 11:44:36 +0200 Subject: s3-spoolss: Provide a memory context for clean_up_driver_struct(). If we use a stack variable to setup spoolss_AddDriverInfoCtr this would segfault with a talloc bad magic value. --- source3/printing/nt_printing.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'source3/printing') diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index c87cfc1fe3..434311d665 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -1676,12 +1676,13 @@ static WERROR clean_up_driver_struct_level(TALLOC_CTX *mem_ctx, /**************************************************************************** ****************************************************************************/ -WERROR clean_up_driver_struct(struct pipes_struct *rpc_pipe, +WERROR clean_up_driver_struct(TALLOC_CTX *mem_ctx, + struct pipes_struct *rpc_pipe, struct spoolss_AddDriverInfoCtr *r) { switch (r->level) { case 3: - return clean_up_driver_struct_level(r, rpc_pipe, + return clean_up_driver_struct_level(mem_ctx, rpc_pipe, r->info.info3->architecture, &r->info.info3->driver_path, &r->info.info3->data_file, @@ -1690,7 +1691,7 @@ WERROR clean_up_driver_struct(struct pipes_struct *rpc_pipe, r->info.info3->dependent_files, &r->info.info3->version); case 6: - return clean_up_driver_struct_level(r, rpc_pipe, + return clean_up_driver_struct_level(mem_ctx, rpc_pipe, r->info.info6->architecture, &r->info.info6->driver_path, &r->info.info6->data_file, -- cgit