diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c index f35a37c65e5f..e9b4249a4b01 100644 --- a/fs/hfs/inode.c +++ b/fs/hfs/inode.c @@ -454,6 +454,8 @@ int hfs_write_inode(struct inode *inode, struct writeback_control *wbc) /* panic? */ return -EIO; + if (HFS_I(main_inode)->cat_key.CName.len > HFS_NAMELEN) + return -EIO; fd.search_key->cat = HFS_I(main_inode)->cat_key; if (hfs_brec_find(&fd)) /* panic? */