[PATCH] fix spoolss driver version parsing

Günther Deschner gd at samba.org
Tue Sep 13 14:57:06 UTC 2016


Hi,

we were giving out wrong driver version numbers from the backend.

please review & push.

Thanks,
Guenther
-- 
Günther Deschner                    GPG-ID: 8EE11688
Red Hat                         gdeschner at redhat.com
Samba Team                              gd at samba.org
-------------- next part --------------
From 041aeed33d4dd1322ab26ca861b97c6088018b15 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <gd at samba.org>
Date: Mon, 12 Sep 2016 17:55:37 +0200
Subject: [PATCH] s3-spoolss: fix winreg_printer_ver_to_qword

We were reporting the OS minor number as the driver version number in all
GetDriver/EnumDriver calls.

Guenther

Signed-off-by: Guenther Deschner <gd at samba.org>
---
 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 37a20ad..f2a91e8 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_qword(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



More information about the samba-technical mailing list