1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-24 21:49:29 +03:00

s4:irpc: use LIBNDR_FLAG_REF_ALLOC for the server side when pulling

The dcerpc server also uses it, so it was surprising that the
IRPC server side doesn't used it.

The reason to have this is that we want to handle error cases
and returns like NT_STATUS_NOT_SUPPORTED sane, without crashing
while marshalling the response.

metze

Signed-off-by: Anatoliy Atanasov <anatoliy.atanasov@postpath.com>
This commit is contained in:
Stefan Metzmacher
2010-09-22 19:04:58 -07:00
committed by Anatoliy Atanasov
parent be0ed310b3
commit 224fbbe33f

View File

@ -769,6 +769,8 @@ static void irpc_handler_request(struct messaging_context *msg_ctx,
r = talloc_zero_size(m->ndr, i->table->calls[m->header.callnum].struct_size);
if (r == NULL) goto failed;
m->ndr->flags |= LIBNDR_FLAG_REF_ALLOC;
/* parse the request data */
ndr_err = i->table->calls[i->callnum].ndr_pull(m->ndr, NDR_IN, r);
if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) goto failed;