hfsplus: missing O_LARGEFILE check
[linux-2.6.git] / fs / hfsplus / inode.c
index b085d64..963be64 100644 (file)
@@ -254,6 +254,8 @@ static int hfsplus_file_open(struct inode *inode, struct file *file)
 {
        if (HFSPLUS_IS_RSRC(inode))
                inode = HFSPLUS_I(inode).rsrc_inode;
+       if (!(file->f_flags & O_LARGEFILE) && i_size_read(inode) > MAX_NON_LFS)
+               return -EOVERFLOW;
        atomic_inc(&HFSPLUS_I(inode).opencnt);
        return 0;
 }