s4:libcli/rap: the caller should get talloc children from call->ndr_pull_{param,data}
authorStefan Metzmacher <metze@samba.org>
Fri, 16 Dec 2011 10:26:54 +0000 (11:26 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 16 Dec 2011 12:11:42 +0000 (13:11 +0100)
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 <metze@samba.org>
Autobuild-Date: Fri Dec 16 13:11:42 CET 2011 on sn-devel-104

source4/libcli/rap/rap.c
source4/libcli/rap/rap.h

index e08a650355b88951c7bb2b283b800bd0a9fff056..1eee811f7f8077545e55e649f5ffee708a9c9070 100644 (file)
@@ -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;
 }
index c611f001f112f4f210b5560541d0bdba66ffac13..1d4468275067a019718697fb09235a481cf9a603 100644 (file)
@@ -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;
 };