Re: [PATCH] cifs: fix off-by-one bug in build_unc_path_to_root

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



merged into cifs-2.6.git for-3.10 (and also in for-3.11 tree)

(also updated for 3.11 and equivalently for-next with another patch
"cifs: remove the cifs_ses->flags field" and continuing to work
through your large auth update patch series)

On Fri, May 31, 2013 at 9:00 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> commit 839db3d10a (cifs: fix up handling of prefixpath= option) changed
> the code such that the vol->prepath no longer contained a leading
> delimiter and then fixed up the places that accessed that field to
> account for that change.
>
> One spot in build_unc_path_to_root was missed however. When doing the
> pointer addition on pos, that patch failed to account for the fact that
> we had already incremented "pos" by one when adding the length of the
> prepath. This caused a buffer overrun by one byte.
>
> This patch fixes the problem by correcting the handling of "pos".
>
> Cc: <stable@xxxxxxxxxxxxxxx> # v3.8+
> Reported-by: Marcus Moeller <marcus.moeller@xxxxxx>
> Reported-by: Ken Fallon <ken.fallon@xxxxxxxxx>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
>  fs/cifs/connect.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> index 5b97e56..e3bc39b 100644
> --- a/fs/cifs/connect.c
> +++ b/fs/cifs/connect.c
> @@ -3279,8 +3279,8 @@ build_unc_path_to_root(const struct smb_vol *vol,
>         pos = full_path + unc_len;
>
>         if (pplen) {
> -               *pos++ = CIFS_DIR_SEP(cifs_sb);
> -               strncpy(pos, vol->prepath, pplen);
> +               *pos = CIFS_DIR_SEP(cifs_sb);
> +               strncpy(pos + 1, vol->prepath, pplen);
>                 pos += pplen;
>         }
>
> --
> 1.8.1.4
>



-- 
Thanks,

Steve
--
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




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux