···129 cend = le32_to_cpu(*(__le32 *)(bh->b_data + (blockendptr & bufmask)));130 brelse(bh);131000132 csize = cend-cstart;000133134 /* Now page[] contains an array of pages, any of which can be NULL,135 and the locks on which we hold. We should now read the data and
···129 cend = le32_to_cpu(*(__le32 *)(bh->b_data + (blockendptr & bufmask)));130 brelse(bh);131132+ if (cstart > cend)133+ goto eio;134+135 csize = cend-cstart;136+137+ if (csize > deflateBound(1UL << zisofs_block_shift))138+ goto eio;139140 /* Now page[] contains an array of pages, any of which can be NULL,141 and the locks on which we hold. We should now read the data and