diff options
author | Günther Deschner <gd@samba.org> | 2016-09-01 19:54:46 +0200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2016-09-07 12:30:39 +0200 |
commit | 398903202574284f810e954341a05e9bd4916c72 (patch) | |
tree | e205630d25a1e7b4ef30a09bc4e3ca1550334012 | |
parent | 2419d59be9d76aa96375c5dd0eb55d7b59bbdb31 (diff) | |
download | samba-398903202574284f810e954341a05e9bd4916c72.tar.gz |
s4-torture: test GetPrinterData with server handle and 0 keylength.
This is what e.g. Windows 10 does a lot.
Guenther
Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12245
(cherry picked from commit 518b2a3f5f3a4814e96546505487b775b5dbca40)
-rw-r--r-- | source4/torture/rpc/spoolss.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/source4/torture/rpc/spoolss.c b/source4/torture/rpc/spoolss.c index 4bc99f241f9..52494b6edc6 100644 --- a/source4/torture/rpc/spoolss.c +++ b/source4/torture/rpc/spoolss.c @@ -4119,19 +4119,27 @@ static bool test_GetPrinterData_list(struct torture_context *tctx, for (i=0; i < ARRAY_SIZE(list); i++) { enum winreg_Type type = REG_NONE; - enum winreg_Type type_ex= REG_NONE; + enum winreg_Type type_ex1 = REG_NONE; + enum winreg_Type type_ex2 = REG_NONE; uint8_t *data; - uint8_t *data_ex = NULL; + uint8_t *data_ex1 = NULL; + uint8_t *data_ex2 = NULL; uint32_t needed; - uint32_t needed_ex = 0; + uint32_t needed_ex1 = 0; + uint32_t needed_ex2 = 0; torture_assert(tctx, test_GetPrinterData(tctx, b, &ctx->server_handle, list[i], &type, &data, &needed), talloc_asprintf(tctx, "GetPrinterData failed on %s\n", list[i])); - torture_assert(tctx, test_GetPrinterDataEx(tctx, p, &ctx->server_handle, "random_string", list[i], &type_ex, &data_ex, &needed_ex), + torture_assert(tctx, test_GetPrinterDataEx(tctx, p, &ctx->server_handle, "random_string", list[i], &type_ex1, &data_ex1, &needed_ex1), talloc_asprintf(tctx, "GetPrinterDataEx failed on %s\n", list[i])); - torture_assert_int_equal(tctx, type, type_ex, "type mismatch"); - torture_assert_int_equal(tctx, needed, needed_ex, "needed mismatch"); - torture_assert_mem_equal(tctx, data, data_ex, needed, "data mismatch"); + torture_assert(tctx, test_GetPrinterDataEx(tctx, p, &ctx->server_handle, "", list[i], &type_ex2, &data_ex2, &needed_ex2), + talloc_asprintf(tctx, "GetPrinterDataEx failed on %s\n", list[i])); + torture_assert_int_equal(tctx, type, type_ex1, "type mismatch"); + torture_assert_int_equal(tctx, type, type_ex2, "type mismatch"); + torture_assert_int_equal(tctx, needed, needed_ex1, "needed mismatch"); + torture_assert_int_equal(tctx, needed, needed_ex2, "needed mismatch"); + torture_assert_mem_equal(tctx, data, data_ex1, needed, "data mismatch"); + torture_assert_mem_equal(tctx, data, data_ex2, needed, "data mismatch"); } return true; |