ROMFS: romfs_iget() - unsigned ino >= 0 is always true
PATCH 1/1 ROMFS: romfs_iget() - unsigned ino >= 0 is always true
romfs_strnlen() returns int
unsigned X >= 0 is always true
Signed-off-by Roel Kluin <[email protected]>
---
for romfs_strnlen(), see
vi fs/romfs/inode.c +200
fs/romfs/inode.c +4 -4
@@ -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 ;