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    [from the cache]
©2003-2011 Jasper Spaans