]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - fs/squashfs/dir.c
Merge tag 'omap-dt-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind...
[mirror_ubuntu-zesty-kernel.git] / fs / squashfs / dir.c
index 9dfe2ce0fb70f0b0caee3d14c9f0f3026bf5d3f4..b381305c9a47263ca34750b4e67172780047b9ca 100644 (file)
@@ -64,7 +64,7 @@ static int get_dir_index_using_offset(struct super_block *sb,
         * is offset by 3 because we invent "." and ".." entries which are
         * not actually stored in the directory.
         */
-       if (f_pos < 3)
+       if (f_pos <= 3)
                return f_pos;
        f_pos -= 3;
 
@@ -105,7 +105,7 @@ static int squashfs_readdir(struct file *file, void *dirent, filldir_t filldir)
        struct inode *inode = file->f_dentry->d_inode;
        struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
        u64 block = squashfs_i(inode)->start + msblk->directory_table;
-       int offset = squashfs_i(inode)->offset, length = 0, dir_count, size,
+       int offset = squashfs_i(inode)->offset, length, dir_count, size,
                                type, err;
        unsigned int inode_number;
        struct squashfs_dir_header dirh;
@@ -173,8 +173,7 @@ static int squashfs_readdir(struct file *file, void *dirent, filldir_t filldir)
 
                dir_count = le32_to_cpu(dirh.count) + 1;
 
-               /* dir_count should never be larger than 256 */
-               if (dir_count > 256)
+               if (dir_count > SQUASHFS_DIR_COUNT)
                        goto failed_read;
 
                while (dir_count--) {