diff --git a/[refs] b/[refs] index cd385f15c723..a17f92ae7920 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 649f1ee6c705aab644035a7998d7b574193a598a +refs/heads/master: d38b7aa7fc3371b52d036748028db50b585ade2e diff --git a/trunk/fs/hfs/catalog.c b/trunk/fs/hfs/catalog.c index ba851576ebb1..6d98f116ca03 100644 --- a/trunk/fs/hfs/catalog.c +++ b/trunk/fs/hfs/catalog.c @@ -190,6 +190,10 @@ int hfs_cat_find_brec(struct super_block *sb, u32 cnid, fd->search_key->cat.ParID = rec.thread.ParID; len = fd->search_key->cat.CName.len = rec.thread.CName.len; + if (len > HFS_NAMELEN) { + printk(KERN_ERR "hfs: bad catalog namelength\n"); + return -EIO; + } memcpy(fd->search_key->cat.CName.name, rec.thread.CName.name, len); return hfs_brec_find(fd); }