|
@@ -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);
|
|
|
}
|