提交 eeb36f8e 编写于 作者: F Fabian Frederick 提交者: Linus Torvalds

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: NFabian Frederick <fabf@skynet.be>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 4d29e571
......@@ -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);
......
......@@ -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--)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册