fs/affs: use unsigned int for string lengths

- Some min() were used with different types.

- Create a new variable in __affs_hash_dentry() to process
  affs_check_name()/min() return

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Fabian Frederick 2015-02-17 13:46:20 -08:00 committed by Linus Torvalds
parent 4d29e571e1
commit eeb36f8e93
2 changed files with 9 additions and 8 deletions

View File

@ -508,7 +508,7 @@ affs_check_name(const unsigned char *name, int len, bool notruncate)
int
affs_copy_name(unsigned char *bstr, struct dentry *dentry)
{
int len = min(dentry->d_name.len, 30u);
u32 len = min(dentry->d_name.len, 30u);
*bstr++ = len;
memcpy(bstr, dentry->d_name.name, len);

View File

@ -64,15 +64,16 @@ __affs_hash_dentry(struct qstr *qstr, toupper_t toupper, bool notruncate)
{
const u8 *name = qstr->name;
unsigned long hash;
int i;
int retval;
u32 len;
i = affs_check_name(qstr->name, qstr->len, notruncate);
if (i)
return i;
retval = affs_check_name(qstr->name, qstr->len, notruncate);
if (retval)
return retval;
hash = init_name_hash();
i = min(qstr->len, 30u);
for (; i > 0; name++, i--)
len = min(qstr->len, 30u);
for (; len > 0; name++, len--)
hash = partial_name_hash(toupper(*name), hash);
qstr->hash = end_name_hash(hash);
@ -173,7 +174,7 @@ int
affs_hash_name(struct super_block *sb, const u8 *name, unsigned int len)
{
toupper_t toupper = affs_get_toupper(sb);
int hash;
u32 hash;
hash = len = min(len, 30u);
for (; len > 0; len--)