summaryrefslogtreecommitdiff
path: root/librpc/gen_ndr/srv_spoolss.c
diff options
context:
space:
mode:
Diffstat (limited to 'librpc/gen_ndr/srv_spoolss.c')
-rw-r--r--librpc/gen_ndr/srv_spoolss.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/librpc/gen_ndr/srv_spoolss.c b/librpc/gen_ndr/srv_spoolss.c
index bc50c0bb5f..cc11d122be 100644
--- a/librpc/gen_ndr/srv_spoolss.c
+++ b/librpc/gen_ndr/srv_spoolss.c
@@ -6325,7 +6325,13 @@ static bool api_spoolss_EnumPrinterKey(pipes_struct *p)
}
ZERO_STRUCT(r->out);
- r->out.key_buffer = talloc_zero(r, struct spoolss_StringArray2);
+ r->out._ndr_size = talloc_zero(r, uint32_t);
+ if (r->out._ndr_size == NULL) {
+ talloc_free(r);
+ return false;
+ }
+
+ r->out.key_buffer = talloc_zero(r, union spoolss_KeyNames);
if (r->out.key_buffer == NULL) {
talloc_free(r);
return false;
@@ -9504,7 +9510,12 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
case NDR_SPOOLSS_ENUMPRINTERKEY: {
struct spoolss_EnumPrinterKey *r = (struct spoolss_EnumPrinterKey *)_r;
ZERO_STRUCT(r->out);
- r->out.key_buffer = talloc_zero(mem_ctx, struct spoolss_StringArray2);
+ r->out._ndr_size = talloc_zero(mem_ctx, uint32_t);
+ if (r->out._ndr_size == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ r->out.key_buffer = talloc_zero(mem_ctx, union spoolss_KeyNames);
if (r->out.key_buffer == NULL) {
return NT_STATUS_NO_MEMORY;
}