lkml.org 
[lkml]   [2010]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[13/34] 9p: strlen() doesnt count the terminator
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Dan Carpenter <error27@gmail.com>

    commit 5c4bfa17f3ec46becec4b23d12323f7605ebd696 upstream.

    This is an off by one bug because strlen() doesn't count the NULL
    terminator. We strcpy() addr into a fixed length array of size
    UNIX_PATH_MAX later on.

    The addr variable is the name of the device being mounted.

    Signed-off-by: Dan Carpenter <error27@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    net/9p/trans_fd.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/net/9p/trans_fd.c
    +++ b/net/9p/trans_fd.c
    @@ -948,7 +948,7 @@ p9_fd_create_unix(struct p9_client *clie

    csocket = NULL;

    - if (strlen(addr) > UNIX_PATH_MAX) {
    + if (strlen(addr) >= UNIX_PATH_MAX) {
    P9_EPRINTK(KERN_ERR, "p9_trans_unix: address too long: %s\n",
    addr);
    err = -ENAMETOOLONG;



    \
     
     \ /
      Last update: 2010-08-06 21:15    [W:0.018 / U:35.184 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site