cifs: clean up handling of unc= option
authorJeff Layton <jlayton@redhat.com>
Mon, 10 Dec 2012 11:10:45 +0000 (06:10 -0500)
committerSteve French <smfrench@gmail.com>
Tue, 11 Dec 2012 17:48:49 +0000 (11:48 -0600)
commit62a1a439e0fdd4ec8a80dc00fcbb9f26b5c34de1
treef1d331829b62e57c9307dc037ac2e1321946df1f
parent193cdd8a293007d1a1ad252cf66b2dc5b793d2d0
cifs: clean up handling of unc= option

Make sure we free any existing memory allocated for vol->UNC, just in
case someone passes in multiple unc= options.

Get rid of the check for too long a UNC. The check for >300 bytes seems
arbitrary. We later copy this into the tcon->treeName, for instance and
it's a lot shorter than 300 bytes.

Eliminate an extra kmalloc and copy as well. Just set the vol->UNC
directly with the contents of match_strdup.

Establish that the UNC should be stored with '\\' delimiters. Use
convert_delimiter to change it in place in the vol->UNC.

Finally, move the check for a malformed UNC into
cifs_parse_mount_options so we can catch that situation earlier.

Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
fs/cifs/connect.c