On Tue, 9 Apr 2013 18:17:41 +0100 Sachin Prabhu <sprabhu@xxxxxxxxxx> wrote: > Fixes a regression in cifs_parse_mount_options where a password > which begins with a delimitor is parsed incorrectly as being a blank > password. > > Signed-off-by: Sachin Prabhu <sprabhu@xxxxxxxxxx> > --- > fs/cifs/connect.c | 16 +++++++++++++--- > 1 file changed, 13 insertions(+), 3 deletions(-) > > diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c > index 12b3da3..f7199b9 100644 > --- a/fs/cifs/connect.c > +++ b/fs/cifs/connect.c > @@ -1546,14 +1546,24 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, > } > break; > case Opt_blank_pass: > - vol->password = NULL; > - break; > - case Opt_pass: > /* passwords have to be handled differently > * to allow the character used for deliminator > * to be passed within them > */ > > + /* > + * Check if this is a case where the password > + * starts with a delimiter > + */ > + tmp_end = strchr(data, '='); > + tmp_end++; > + if (!(tmp_end < end && tmp_end[1] == delim)) { > + /* No it is not. Set the password to NULL */ > + vol->password = NULL; > + break; > + } > + /* Yes it is. Drop down to Opt_pass below.*/ > + case Opt_pass: > /* Obtain the value string */ > value = strchr(data, '='); > value++; Looks reasonable to me. Should this also go to stable? Acked-by: Jeff Layton <jlayton@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html