flash: avoid checking for non NULL pointer to free it
[fw/openocd] / src / flash / nor / swm050.c
index 241207d879d4c0d8711f6f5a31f5e4186c793625..98361eb91d1fc80ed87414c16153fd896c4d1ff4 100644 (file)
 #define SWM050_SYSCTL_CFG_0    0x400F0000
 #define SWM050_SYSCTL_DBLF     0x400F0008
 
-static int swm050_erase(struct flash_bank *bank, int first, int last)
+static int swm050_erase(struct flash_bank *bank, unsigned int first,
+               unsigned int last)
 {
        struct target *target = bank->target;
-       int retval, curr_page;
-       uint32_t curr_addr;
+       int retval;
 
        if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
@@ -54,8 +54,8 @@ static int swm050_erase(struct flash_bank *bank, int first, int last)
        if (retval != ERROR_OK)
                return retval;
 
-       for (curr_page = first; curr_page <= last; curr_page++) {
-               curr_addr = bank->base + (SWM050_FLASH_PAGE_SIZE * curr_page);
+       for (unsigned int curr_page = first; curr_page <= last; curr_page++) {
+               uint32_t curr_addr = bank->base + (SWM050_FLASH_PAGE_SIZE * curr_page);
                /* Perform write */
                retval = target_write_u32(target, curr_addr, SWM050_FLASH_KEY);
                if (retval != ERROR_OK)
@@ -156,10 +156,7 @@ COMMAND_HANDLER(swm050_handle_mass_erase_command)
 
 FLASH_BANK_COMMAND_HANDLER(swm050_flash_bank_command)
 {
-       if (bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
        bank->write_start_alignment = 4;
        bank->write_end_alignment = 4;
        bank->size = SWM050_FLASH_PAGE_SIZE * SWM050_FLASH_PAGES;
@@ -169,7 +166,7 @@ FLASH_BANK_COMMAND_HANDLER(swm050_flash_bank_command)
        if (!bank->sectors)
                return ERROR_FAIL;
 
-       for (int i = 0; i < bank->num_sectors; i++)
+       for (unsigned int i = 0; i < bank->num_sectors; i++)
                bank->sectors[i].is_protected = 0;
 
        return ERROR_OK;