All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Convert slashes in the UNC parameter to backslashes
@ 2012-11-06 12:29 Federico Sauter
       [not found] ` <509902BB.6020400-LVkJPw3T+odGBRGhe+f61g@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Federico Sauter @ 2012-11-06 12:29 UTC (permalink / raw)
  To: smfrench-Re5JQEeQqe8AvxtiuMwx3w
  Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA, sjayaraman-IBi9RG/b67k

This patch ensures that slashes used as separators in the
UNC are properly converted to backslashes. The existing
implementation did not perform that conversion and that
lead to a "invalid argument" error when specifying an UNC
explicitly which contained slashes in it.

---
  fs/cifs/connect.c |   12 ++++++------
  1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 5c670b9..8f4c76f 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -1108,6 +1108,7 @@ cifs_parse_mount_options(const char *mountdata, 
const char *devname,
  	char *string = NULL;
  	char *tmp_end, *value;
  	char delim;
+	char *p, *q;

  	separator[0] = ',';
  	separator[1] = 0;
@@ -1573,12 +1574,11 @@ cifs_parse_mount_options(const char *mountdata, 
const char *devname,
  				printk(KERN_WARNING "CIFS: no memory for UNC\n");
  				goto cifs_parse_mount_err;
  			}
-			strcpy(vol->UNC, string);
-
-			if (strncmp(string, "//", 2) == 0) {
-				vol->UNC[0] = '\\';
-				vol->UNC[1] = '\\';
-			} else if (strncmp(string, "\\\\", 2) != 0) {
+			for (p = string, q = vol->UNC; *p; ++p, ++q) {
+				*q = *p == '/'? '\\' : *p;
+			}
+			*q = '\0';
+			if (strncmp(vol->UNC, "\\\\", 2) != 0) {
  				printk(KERN_WARNING "CIFS: UNC Path does not "
  						    "begin with // or \\\\\n");
  				goto cifs_parse_mount_err;
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-11-09 11:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-06 12:29 [PATCH] Convert slashes in the UNC parameter to backslashes Federico Sauter
     [not found] ` <509902BB.6020400-LVkJPw3T+odGBRGhe+f61g@public.gmane.org>
2012-11-07 12:02   ` Jeff Layton
     [not found]     ` <20121107070239.1140fe68-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2012-11-07 15:20       ` Federico Sauter
     [not found]         ` <509A7C36.8080800-LVkJPw3T+odGBRGhe+f61g@public.gmane.org>
2012-11-07 15:48           ` Jeff Layton
     [not found]             ` <20121107104853.12935810-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2012-11-07 16:42               ` Scott Lovenberg
     [not found]                 ` <CAFB9KM02kdNwrNVO42r67emTaiRshSB1+sxDOwnOpNwSUyskZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-07 18:21                   ` Jeff Layton
     [not found]                     ` <20121107132107.007a031d-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2012-11-08 12:16                       ` Federico Sauter
     [not found]                         ` <509BA299.4000805-LVkJPw3T+odGBRGhe+f61g@public.gmane.org>
2012-11-09 11:19                           ` Jeff Layton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.