lkml.org 
[lkml]   [2016]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] cifs: fix potential overflow in cifs_compose_mount_options
    On Mon, Feb 1, 2016 at 10:34 AM, Insu Yun <wuninsu@gmail.com> wrote:
    > In worst case, "ip=" + sb_mountdata + ipv6 can be copied into mountdata.
    > Therefore, for safe, it is better to add more size when allocating memory.
    >
    > Signed-off-by: Insu Yun <wuninsu@gmail.com>
    > ---
    > fs/cifs/cifs_dfs_ref.c | 2 +-
    > 1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/cifs/cifs_dfs_ref.c
    > index 7dc886c..e956cba 100644
    > --- a/fs/cifs/cifs_dfs_ref.c
    > +++ b/fs/cifs/cifs_dfs_ref.c
    > @@ -175,7 +175,7 @@ char *cifs_compose_mount_options(const char *sb_mountdata,
    > * string to the length of the original string to allow for worst case.
    > */
    > md_len = strlen(sb_mountdata) + INET6_ADDRSTRLEN;
    > - mountdata = kzalloc(md_len + 1, GFP_KERNEL);
    > + mountdata = kzalloc(md_len + sizeof("ip=") + 1, GFP_KERNEL);
    > if (mountdata == NULL) {
    > rc = -ENOMEM;
    > goto compose_mount_options_err;

    Not likely to be reproducible in practice (since ip= is already in the
    sb_mountdata) but in case mount.cifs was missing and ip= was missing from
    the original mount string, might as well add it.

    Merged into cifs-2.6.git


    --
    Thanks,

    Steve

    \
     
     \ /
      Last update: 2016-02-11 01:41    [W:5.631 / U:0.732 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site