From 7249d3f276ec65b528bd604352eede1f6bf4360f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Mon, 12 Sep 2016 17:55:37 +0200 Subject: [PATCH] s3-spoolss: fix winreg_printer_ver_to_qword Bug: https://bugzilla.samba.org/show_bug.cgi?id=12285 We were reporting the OS minor number as the driver version number in all GetDriver/EnumDriver calls. Guenther Signed-off-by: Guenther Deschner Reviewed-by: Jeremy Allison (cherry picked from commit a9a1a16cc8b87a84cdfa049ebd26bf4eac1b3618) --- source3/rpc_client/cli_winreg_spoolss.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source3/rpc_client/cli_winreg_spoolss.c b/source3/rpc_client/cli_winreg_spoolss.c index ac4fe86..68ac053 100644 --- a/source3/rpc_client/cli_winreg_spoolss.c +++ b/source3/rpc_client/cli_winreg_spoolss.c @@ -529,8 +529,9 @@ static WERROR winreg_printer_write_ver(TALLOC_CTX *mem_ctx, NTSTATUS status; char *str; - /* FIXME: check format is right, - * this needs to be something like: 6.1.7600.16385 */ + /* + * this needs to be something like: 6.1.7600.16385 + */ str = talloc_asprintf(mem_ctx, "%u.%u.%u.%u", (unsigned)((data >> 48) & 0xFFFF), (unsigned)((data >> 32) & 0xFFFF), @@ -574,7 +575,7 @@ static WERROR winreg_printer_ver_to_dword(const char *str, uint64_t *data) *data = ((uint64_t)(v1 & 0xFFFF) << 48) + ((uint64_t)(v2 & 0xFFFF) << 32) + ((uint64_t)(v3 & 0xFFFF) << 16) + - (uint64_t)(v2 & 0xFFFF); + (uint64_t)(v4 & 0xFFFF); return WERR_OK; } -- 2.7.4