lkml.org 
[lkml]   [2008]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] ROMFS: romfs_iget() - unsigned ino >= 0 is always true
    romfs_strnlen() returns int
    unsigned X >= 0 is always true

    Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
    ---
    for romfs_strnlen(), see
    vi fs/romfs/inode.c +200

    diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
    index 60d2f82..28b180b 100644
    --- a/fs/romfs/inode.c
    +++ b/fs/romfs/inode.c
    @@ -490,7 +490,7 @@ static mode_t romfs_modemap[] =
    static struct inode *
    romfs_iget(struct super_block *sb, unsigned long ino)
    {
    - int nextfh;
    + int nextfh, ret;
    struct romfs_inode ri;
    struct inode *i;

    @@ -527,9 +527,9 @@ romfs_iget(struct super_block *sb, unsigned long ino)
    i->i_uid = i->i_gid = 0;

    /* Precalculate the data offset */
    - ino = romfs_strnlen(i, ino+ROMFH_SIZE, ROMFS_MAXFN);
    - if (ino >= 0)
    - ino = ((ROMFH_SIZE+ino+1+ROMFH_PAD)&ROMFH_MASK);
    + ret = romfs_strnlen(i, ino+ROMFH_SIZE, ROMFS_MAXFN);
    + if (ret >= 0)
    + ino = ((ROMFH_SIZE+ret+1+ROMFH_PAD)&ROMFH_MASK);
    else
    ino = 0;



    \
     
     \ /
      Last update: 2008-11-29 17:29    [W:0.019 / U:60.684 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site