if (state->fc_regions_used == state->fc_regions_size) {
                struct ext4_fc_alloc_region *fc_regions;
 
-               state->fc_regions_size +=
-                       EXT4_FC_REPLAY_REALLOC_INCREMENT;
                fc_regions = krealloc(state->fc_regions,
-                                     state->fc_regions_size *
-                                     sizeof(struct ext4_fc_alloc_region),
+                                     sizeof(struct ext4_fc_alloc_region) *
+                                     (state->fc_regions_size +
+                                      EXT4_FC_REPLAY_REALLOC_INCREMENT),
                                      GFP_KERNEL);
                if (!fc_regions)
                        return -ENOMEM;
+               state->fc_regions_size +=
+                       EXT4_FC_REPLAY_REALLOC_INCREMENT;
                state->fc_regions = fc_regions;
        }
        region = &state->fc_regions[state->fc_regions_used++];