From: Günther Deschner Date: Fri, 11 Nov 2016 15:35:03 +0000 (+0100) Subject: spoolss: allow truncated driver version in spoolss_driver_version_to_qword() X-Git-Tag: talloc-2.1.9~406 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03a4741bc768351334c92c8c7ddb0a4e84260c19;p=thirdparty%2Fsamba.git spoolss: allow truncated driver version in spoolss_driver_version_to_qword() This has been seen in real life Konica driver defintions. Guenther Signed-off-by: Guenther Deschner Reviewed-by: Andreas Schneider --- diff --git a/source3/rpc_client/init_spoolss.c b/source3/rpc_client/init_spoolss.c index d80d453fb23..a806fc6ce09 100644 --- a/source3/rpc_client/init_spoolss.c +++ b/source3/rpc_client/init_spoolss.c @@ -97,9 +97,11 @@ bool spoolss_timestr_to_NTTIME(const char *str, bool spoolss_driver_version_to_qword(const char *str, uint64_t *data) { - unsigned int v1, v2, v3, v4; + unsigned int v1, v2, v3, v4 = 0; - if (sscanf(str, "%u.%u.%u.%u", &v1, &v2, &v3, &v4) != 4) { + if ((sscanf(str, "%u.%u.%u.%u", &v1, &v2, &v3, &v4) != 4) && + (sscanf(str, "%u.%u.%u", &v1, &v2, &v3) != 3)) + { return false; }