diff options
author | Günther Deschner <gd@samba.org> | 2020-01-07 15:52:40 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2020-01-08 23:51:30 +0000 |
commit | e17c8e1b405690d7d38443c8f18c489fc98c1011 (patch) | |
tree | 8080420a7a577673e8eda0a945078f803b4c41c4 /source4 | |
parent | ba53e284e689987641f446fb71ddf1f31aee100b (diff) | |
download | samba-e17c8e1b405690d7d38443c8f18c489fc98c1011.tar.gz |
librpc: fix IDL for spoolss_GetCorePrinterDrivers()
The charset determination makes it more difficult to deal with the real
REG_MULTI_SZ nature of that element.
Guenther
Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source4')
-rw-r--r-- | source4/torture/rpc/spoolss.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c index bf3a9377322..317cdbfd466 100644 --- a/source4/torture/rpc/spoolss.c +++ b/source4/torture/rpc/spoolss.c @@ -7968,7 +7968,7 @@ static bool test_get_core_printer_drivers_arch_guid(struct torture_context *tctx { struct spoolss_GetCorePrinterDrivers r; struct spoolss_CorePrinterDriver core_printer_drivers; - DATA_BLOB blob; + DATA_BLOB blob = data_blob_talloc_zero(tctx, 2); const char **s; struct dcerpc_binding_handle *b = p->binding_handle; struct GUID guid; @@ -7978,7 +7978,7 @@ static bool test_get_core_printer_drivers_arch_guid(struct torture_context *tctx r.in.servername = talloc_asprintf(tctx, "\\\\%s", dcerpc_server_name(p)); r.in.architecture = "foobar"; r.in.core_driver_size = 0; - r.in.core_driver_dependencies = ""; + r.in.core_driver_dependencies = (uint16_t *)blob.data; r.in.core_printer_driver_count = 0; r.out.core_printer_drivers = &core_printer_drivers; @@ -7995,8 +7995,8 @@ static bool test_get_core_printer_drivers_arch_guid(struct torture_context *tctx push_reg_multi_sz(tctx, &blob, s), "push_reg_multi_sz failed"); - r.in.core_driver_size = blob.length; - r.in.core_driver_dependencies = s[0]; + r.in.core_driver_size = blob.length/2; + r.in.core_driver_dependencies = (uint16_t *)blob.data; r.in.core_printer_driver_count = 1; r.out.core_printer_drivers = talloc_zero_array(tctx, struct spoolss_CorePrinterDriver, r.in.core_printer_driver_count); @@ -8022,8 +8022,8 @@ static bool test_get_core_printer_drivers_arch_guid(struct torture_context *tctx push_reg_multi_sz(tctx, &blob, s), "push_reg_multi_sz failed"); - r.in.core_driver_size = blob.length; - r.in.core_driver_dependencies = s[0]; + r.in.core_driver_size = blob.length/2; + r.in.core_driver_dependencies = (uint16_t *)blob.data; r.in.core_printer_driver_count = 1; r.out.core_printer_drivers = talloc_zero_array(tctx, struct spoolss_CorePrinterDriver, r.in.core_printer_driver_count); |