Blob Blame History Raw
From: Paulo Alcantara <palcantara@suse.de>
Date: Wed, 14 Nov 2018 14:03:40 -0200
Subject: [PATCH] cifs: Skip any trailing backslashes from UNC
Git-commit: c34fea5a636d98607ee6e41c78acc9d5ca8fb756
Patch-mainline: v5.0-rc1
References: bsc#1144333

When extracting hostname from UNC, check for leading backslashes
before trying to remove them.

Signed-off-by: Paulo Alcantara <palcantara@suse.de>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Acked-by: Aurelien Aptel <aaptel@suse.com>
---
 fs/cifs/connect.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 944188d6200c..bab4422f5815 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -1044,7 +1044,12 @@ extract_hostname(const char *unc)
 
 	/* skip double chars at beginning of string */
 	/* BB: check validity of these bytes? */
-	src = unc + 2;
+	if (strlen(unc) < 3)
+		return ERR_PTR(-EINVAL);
+	for (src = unc; *src && *src == '\\'; src++)
+		;
+	if (!*src)
+		return ERR_PTR(-EINVAL);
 
 	/* delimiter between hostname and sharename is always '\\' now */
 	delim = strchr(src, '\\');
-- 
2.16.4