summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2020-01-07 15:52:40 +0100
committerJeremy Allison <jra@samba.org>2020-01-08 23:51:30 +0000
commite17c8e1b405690d7d38443c8f18c489fc98c1011 (patch)
tree8080420a7a577673e8eda0a945078f803b4c41c4 /source4
parentba53e284e689987641f446fb71ddf1f31aee100b (diff)
downloadsamba-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.c12
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);