diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
index 292daee..17d28a1 100644
--- a/fs/ext4/move_extent.c
+++ b/fs/ext4/move_extent.c
@@ -680,6 +680,10 @@ mext_replace_branches(handle_t *handle, struct inode *orig_inode,

        depth = ext_depth(donor_inode);
        dext = donor_path[depth].p_ext;
+       if (unlikely(!dext)) {
+               *err = -EIO;
+               goto out;
+       }
        tmp_dext = *dext;

        *err = mext_calc_swap_extents(&tmp_dext, &tmp_oext, orig_off,
