s4:librpc/rpc: don't mix up paylod ndr flags with the dcerpc layer
[metze/samba/wip.git] / source4 / librpc / rpc / dcerpc.c
index 5bcc5f5a0765bc9fae89426dcd95d10e175d4f93..5d286c83c06f0e3dd0b35cdcec651eba0fc45560 100644 (file)
@@ -674,7 +674,7 @@ static NTSTATUS ncacn_pull(struct dcecli_connection *c, DATA_BLOB *blob, TALLOC_
        struct ndr_pull *ndr;
        enum ndr_err_code ndr_err;
 
-       ndr = ndr_pull_init_flags(c, blob, mem_ctx);
+       ndr = ndr_pull_init_blob(blob, mem_ctx);
        if (!ndr) {
                return NT_STATUS_NO_MEMORY;
        }
@@ -1503,10 +1503,7 @@ static struct rpc_request *dcerpc_request_send(TALLOC_CTX *mem_ctx,
 
        req->opnum = opnum;
        req->request_data.length = stub_data->length;
-       req->request_data.data = talloc_reference(req, stub_data->data);
-       if (req->request_data.length && req->request_data.data == NULL) {
-               return NULL;
-       }
+       req->request_data.data = stub_data->data;
 
        DLIST_ADD_END(p->conn->request_queue, req, struct rpc_request *);
        talloc_set_destructor(req, dcerpc_req_dequeue);