diff options
-rw-r--r-- | erasure_layout.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/erasure_layout.c b/erasure_layout.c index 05376de8..2097b33b 100644 --- a/erasure_layout.c +++ b/erasure_layout.c @@ -93,18 +93,17 @@ int create_erase_layout(struct flashctx *const flashctx, struct erase_layout **e { const struct flashchip *chip = flashctx->chip; const size_t erasefn_count = count_usable_erasers(flashctx); - struct erase_layout *layout = calloc(erasefn_count, sizeof(struct erase_layout)); + if (!erasefn_count) { + msg_gerr("No erase functions supported\n"); + return 0; + } + struct erase_layout *layout = calloc(erasefn_count, sizeof(struct erase_layout)); if (!layout) { msg_gerr("Out of memory!\n"); return -1; } - if (!erasefn_count) { - msg_gerr("No erase functions supported\n"); - return 0; - } - size_t layout_idx = 0; for (size_t eraser_idx = 0; eraser_idx < NUM_ERASEFUNCTIONS; eraser_idx++) { if (check_block_eraser(flashctx, eraser_idx, 0)) |