/*Aligned data*/
blen = len / bdev->bdif->ph_bsize;
- r = ext4_bdif_bwrite(bdev, p, block_idx, blen);
- if (r != EOK)
- return r;
+ if (blen != 0) {
+ r = ext4_bdif_bwrite(bdev, p, block_idx, blen);
+ if (r != EOK)
+ return r;
- p += bdev->bdif->ph_bsize * blen;
- len -= bdev->bdif->ph_bsize * blen;
+ p += bdev->bdif->ph_bsize * blen;
+ len -= bdev->bdif->ph_bsize * blen;
- block_idx += blen;
+ block_idx += blen;
+ }
/*Rest of the data*/
if (len) {
/*Aligned data*/
blen = len / bdev->bdif->ph_bsize;
- r = ext4_bdif_bread(bdev, p, block_idx, blen);
- if (r != EOK)
- return r;
+ if (blen != 0) {
+ r = ext4_bdif_bread(bdev, p, block_idx, blen);
+ if (r != EOK)
+ return r;
- p += bdev->bdif->ph_bsize * blen;
- len -= bdev->bdif->ph_bsize * blen;
+ p += bdev->bdif->ph_bsize * blen;
+ len -= bdev->bdif->ph_bsize * blen;
- block_idx += blen;
+ block_idx += blen;
+ }
/*Rest of the data*/
if (len) {