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.c63
1 files changed, 49 insertions, 14 deletions
diff --git a/librpc/gen_ndr/srv_spoolss.c b/librpc/gen_ndr/srv_spoolss.c
index 891be85376..9cb930f979 100644
--- a/librpc/gen_ndr/srv_spoolss.c
+++ b/librpc/gen_ndr/srv_spoolss.c
@@ -51,7 +51,7 @@ static bool api_spoolss_EnumPrinters(pipes_struct *p)
return false;
}
- r->out.info = talloc_zero_array(r, union spoolss_PrinterInfo, *r->out.count);
+ r->out.info = talloc_zero(r, union spoolss_PrinterInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
@@ -382,7 +382,7 @@ static bool api_spoolss_EnumJobs(pipes_struct *p)
return false;
}
- r->out.info = talloc_zero_array(r, union spoolss_JobInfo, *r->out.count);
+ r->out.info = talloc_zero(r, union spoolss_JobInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
@@ -852,7 +852,7 @@ static bool api_spoolss_EnumPrinterDrivers(pipes_struct *p)
return false;
}
- r->out.info = talloc_zero_array(r, union spoolss_DriverInfo, *r->out.count);
+ r->out.info = talloc_zero(r, union spoolss_DriverInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
@@ -1249,7 +1249,7 @@ static bool api_spoolss_EnumPrintProcessors(pipes_struct *p)
return false;
}
- r->out.info = talloc_zero_array(r, union spoolss_PrintProcessorInfo, *r->out.count);
+ r->out.info = talloc_zero(r, union spoolss_PrintProcessorInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
@@ -2731,7 +2731,7 @@ static bool api_spoolss_EnumForms(pipes_struct *p)
return false;
}
- r->out.info = talloc_zero_array(r, union spoolss_FormInfo, *r->out.count);
+ r->out.info = talloc_zero(r, union spoolss_FormInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
@@ -2823,7 +2823,7 @@ static bool api_spoolss_EnumPorts(pipes_struct *p)
return false;
}
- r->out.info = talloc_zero_array(r, union spoolss_PortInfo, *r->out.count);
+ r->out.info = talloc_zero(r, union spoolss_PortInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
@@ -2915,7 +2915,7 @@ static bool api_spoolss_EnumMonitors(pipes_struct *p)
return false;
}
- r->out.info = talloc_zero_array(r, union spoolss_MonitorInfo, *r->out.count);
+ r->out.info = talloc_zero(r, union spoolss_MonitorInfo *);
if (r->out.info == NULL) {
talloc_free(r);
return false;
@@ -4022,6 +4022,25 @@ static bool api_spoolss_EnumPrintProcDataTypes(pipes_struct *p)
NDR_PRINT_IN_DEBUG(spoolss_EnumPrintProcDataTypes, r);
}
+ ZERO_STRUCT(r->out);
+ r->out.count = talloc_zero(r, uint32_t);
+ if (r->out.count == NULL) {
+ talloc_free(r);
+ return false;
+ }
+
+ r->out.info = talloc_zero(r, union spoolss_PrintProcDataTypesInfo *);
+ if (r->out.info == NULL) {
+ talloc_free(r);
+ return false;
+ }
+
+ r->out.needed = talloc_zero(r, uint32_t);
+ if (r->out.needed == NULL) {
+ talloc_free(r);
+ return false;
+ }
+
r->out.result = _spoolss_EnumPrintProcDataTypes(p, r);
if (p->rng_fault_state) {
@@ -7551,7 +7570,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
return NT_STATUS_NO_MEMORY;
}
- r->out.info = talloc_zero_array(mem_ctx, union spoolss_PrinterInfo, *r->out.count);
+ r->out.info = talloc_zero(mem_ctx, union spoolss_PrinterInfo *);
if (r->out.info == NULL) {
return NT_STATUS_NO_MEMORY;
}
@@ -7608,7 +7627,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
return NT_STATUS_NO_MEMORY;
}
- r->out.info = talloc_zero_array(mem_ctx, union spoolss_JobInfo, *r->out.count);
+ r->out.info = talloc_zero(mem_ctx, union spoolss_JobInfo *);
if (r->out.info == NULL) {
return NT_STATUS_NO_MEMORY;
}
@@ -7671,7 +7690,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
return NT_STATUS_NO_MEMORY;
}
- r->out.info = talloc_zero_array(mem_ctx, union spoolss_DriverInfo, *r->out.count);
+ r->out.info = talloc_zero(mem_ctx, union spoolss_DriverInfo *);
if (r->out.info == NULL) {
return NT_STATUS_NO_MEMORY;
}
@@ -7728,7 +7747,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
return NT_STATUS_NO_MEMORY;
}
- r->out.info = talloc_zero_array(mem_ctx, union spoolss_PrintProcessorInfo, *r->out.count);
+ r->out.info = talloc_zero(mem_ctx, union spoolss_PrintProcessorInfo *);
if (r->out.info == NULL) {
return NT_STATUS_NO_MEMORY;
}
@@ -7923,7 +7942,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
return NT_STATUS_NO_MEMORY;
}
- r->out.info = talloc_zero_array(mem_ctx, union spoolss_FormInfo, *r->out.count);
+ r->out.info = talloc_zero(mem_ctx, union spoolss_FormInfo *);
if (r->out.info == NULL) {
return NT_STATUS_NO_MEMORY;
}
@@ -7945,7 +7964,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
return NT_STATUS_NO_MEMORY;
}
- r->out.info = talloc_zero_array(mem_ctx, union spoolss_PortInfo, *r->out.count);
+ r->out.info = talloc_zero(mem_ctx, union spoolss_PortInfo *);
if (r->out.info == NULL) {
return NT_STATUS_NO_MEMORY;
}
@@ -7967,7 +7986,7 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
return NT_STATUS_NO_MEMORY;
}
- r->out.info = talloc_zero_array(mem_ctx, union spoolss_MonitorInfo, *r->out.count);
+ r->out.info = talloc_zero(mem_ctx, union spoolss_MonitorInfo *);
if (r->out.info == NULL) {
return NT_STATUS_NO_MEMORY;
}
@@ -8067,6 +8086,22 @@ NTSTATUS rpc_spoolss_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
case NDR_SPOOLSS_ENUMPRINTPROCDATATYPES: {
struct spoolss_EnumPrintProcDataTypes *r = (struct spoolss_EnumPrintProcDataTypes *)_r;
+ ZERO_STRUCT(r->out);
+ r->out.count = talloc_zero(mem_ctx, uint32_t);
+ if (r->out.count == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ r->out.info = talloc_zero(mem_ctx, union spoolss_PrintProcDataTypesInfo *);
+ if (r->out.info == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ r->out.needed = talloc_zero(mem_ctx, uint32_t);
+ if (r->out.needed == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
r->out.result = _spoolss_EnumPrintProcDataTypes(cli->pipes_struct, r);
return NT_STATUS_OK;
}