From 35605fa0a3c44f1d8da2c06c1b17170aeca2bbef Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 16 Dec 2011 11:26:54 +0100 Subject: [PATCH] s4:libcli/rap: the caller should get talloc children from call->ndr_pull_{param,data} This should fix the flakey 'rap.printing.rap_printq_getinfo' test, see https://git.samba.org/autobuild.flakey/2011-12-16-0022/samba4.stdout metze Autobuild-User: Stefan Metzmacher Autobuild-Date: Fri Dec 16 13:11:42 CET 2011 on sn-devel-104 --- source4/libcli/rap/rap.c | 5 ++++- source4/libcli/rap/rap.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/source4/libcli/rap/rap.c b/source4/libcli/rap/rap.c index e08a650355b..1eee811f7f8 100644 --- a/source4/libcli/rap/rap.c +++ b/source4/libcli/rap/rap.c @@ -44,6 +44,8 @@ struct rap_call *new_rap_cli_call(TALLOC_CTX *mem_ctx, uint16_t callno) call->ndr_push_data = ndr_push_init_ctx(call); call->ndr_push_data->flags = RAPNDR_FLAGS; + call->pull_mem_ctx = mem_ctx; + return call; } @@ -217,9 +219,10 @@ NTSTATUS rap_cli_do_call(struct smbcli_tree *tree, call->ndr_pull_param = ndr_pull_init_blob(&trans.out.params, call); call->ndr_pull_param->flags = RAPNDR_FLAGS; - + call->ndr_pull_param->current_mem_ctx = call->pull_mem_ctx; call->ndr_pull_data = ndr_pull_init_blob(&trans.out.data, call); call->ndr_pull_data->flags = RAPNDR_FLAGS; + call->ndr_pull_data->current_mem_ctx = call->pull_mem_ctx; return result; } diff --git a/source4/libcli/rap/rap.h b/source4/libcli/rap/rap.h index c611f001f11..1d446827506 100644 --- a/source4/libcli/rap/rap.h +++ b/source4/libcli/rap/rap.h @@ -64,6 +64,8 @@ struct rap_call { struct ndr_push *ndr_push_param; struct ndr_push *ndr_push_data; + + TALLOC_CTX *pull_mem_ctx; struct ndr_pull *ndr_pull_param; struct ndr_pull *ndr_pull_data; }; -- 2.34.1