diff options
Diffstat (limited to 'librpc/gen_ndr')
-rw-r--r-- | librpc/gen_ndr/ndr_spoolss.c | 7 | ||||
-rw-r--r-- | librpc/gen_ndr/spoolss.h | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c index b45655e58e..4ed6203d47 100644 --- a/librpc/gen_ndr/ndr_spoolss.c +++ b/librpc/gen_ndr/ndr_spoolss.c @@ -21787,8 +21787,11 @@ _PUBLIC_ enum ndr_err_code ndr_push___spoolss_SetPrinterData(struct ndr_push *nd NDR_CHECK(ndr_push_spoolss_PrinterDataType(ndr, NDR_SCALARS, r->in.type)); } if (flags & NDR_OUT) { - NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.data, r->in.type)); - NDR_CHECK(ndr_push_spoolss_PrinterData(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.data)); + if (r->out.data == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.data, r->in.type)); + NDR_CHECK(ndr_push_spoolss_PrinterData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.data)); } return NDR_ERR_SUCCESS; } diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h index 629de007b2..d6f51ccdb3 100644 --- a/librpc/gen_ndr/spoolss.h +++ b/librpc/gen_ndr/spoolss.h @@ -2147,7 +2147,7 @@ struct __spoolss_SetPrinterData { } in; struct { - union spoolss_PrinterData data;/* [switch_is(type)] */ + union spoolss_PrinterData *data;/* [ref,switch_is(type)] */ } out; }; |