summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/torture/rpc/spoolss_win.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source4/torture/rpc/spoolss_win.c b/source4/torture/rpc/spoolss_win.c
index e9ba8b19be..ea5e5ea8a5 100644
--- a/source4/torture/rpc/spoolss_win.c
+++ b/source4/torture/rpc/spoolss_win.c
@@ -158,7 +158,7 @@ static bool test_GetPrinterData(struct torture_context *tctx,
struct spoolss_GetPrinterData gpd;
uint32_t needed;
enum winreg_Type type;
- union spoolss_PrinterData data;
+ uint8_t *data = talloc_zero_array(tctx, uint8_t, 4);
torture_comment(tctx, "Testing GetPrinterData(%s).\n", value_name);
gpd.in.handle = handle;
@@ -166,7 +166,7 @@ static bool test_GetPrinterData(struct torture_context *tctx,
gpd.in.offered = 4;
gpd.out.needed = &needed;
gpd.out.type = &type;
- gpd.out.data = &data;
+ gpd.out.data = data;
status = dcerpc_spoolss_GetPrinterData(p, tctx, &gpd);
torture_assert_ntstatus_ok(tctx, status, "GetPrinterData failed.");
@@ -174,7 +174,8 @@ static bool test_GetPrinterData(struct torture_context *tctx,
"GetPrinterData did not return expected error value.");
if (W_ERROR_IS_OK(expected_werr)) {
- torture_assert_int_equal(tctx, data.value,
+ uint32_t value = IVAL(data, 0);
+ torture_assert_int_equal(tctx, value,
expected_value,
talloc_asprintf(tctx, "GetPrinterData for %s did not return expected value.", value_name));
}