diff options
Diffstat (limited to 'source4/torture/rpc/spoolss_win.c')
-rw-r--r-- | source4/torture/rpc/spoolss_win.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source4/torture/rpc/spoolss_win.c b/source4/torture/rpc/spoolss_win.c index cc998cb302..24a8dbc7e9 100644 --- a/source4/torture/rpc/spoolss_win.c +++ b/source4/torture/rpc/spoolss_win.c @@ -378,17 +378,22 @@ static bool test_EnumPrinterDataEx(struct torture_context *tctx, { NTSTATUS status; struct spoolss_EnumPrinterDataEx epde; + uint32_t needed; + uint32_t count; torture_comment(tctx, "Testing EnumPrinterDataEx(%s)\n", key); epde.in.handle = handle; epde.in.key_name = talloc_strdup(tctx, key); epde.in.offered = 0; + epde.out.needed = &needed; + epde.out.count = &count; status = dcerpc_spoolss_EnumPrinterDataEx(p, tctx, &epde); torture_assert_ntstatus_ok(tctx, status, "EnumPrinterDataEx failed."); if (W_ERROR_EQUAL(epde.out.result, WERR_MORE_DATA)) { - epde.in.offered = epde.out.needed; + epde.in.offered = needed; + epde.out.buffer = talloc_array(tctx, uint8_t, needed); status = dcerpc_spoolss_EnumPrinterDataEx(p, tctx, &epde); torture_assert_ntstatus_ok(tctx, status, "EnumPrinterDataEx failed."); |