The function free() can be called with a NULL pointer as argument,
no need to check the argument before. If the pointer is NULL, no
operation is performed by free().
Remove the occurrences of pattern:
if (ptr)
free(ptr);
There are cases where the pointer is set to NULL after free(), but
then re-assigned within few lines. Drop the setting to NULL when
this is evident. Anyway, the compiler will remove the useless
assignment so no reason to be too much aggressive in this change.
Change-Id: I55b2ce7cbe201410016398933e34d33a4b66e30b
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5811
Tested-by: jenkins
30 files changed:
if (state->file_opened)
fileio_close(state->fileio);
if (state->file_opened)
fileio_close(state->fileio);
- if (state->oob) {
- free(state->oob);
- state->oob = NULL;
- }
- if (state->page) {
- free(state->page);
- state->page = NULL;
- }
+ free(state->oob);
+ state->oob = NULL;
+
+ free(state->page);
+ state->page = NULL;
return ERROR_OK;
}
int nand_fileio_finish(struct nand_fileio_state *state)
return ERROR_OK;
}
int nand_fileio_finish(struct nand_fileio_state *state)
if (retval != ERROR_OK)
return retval;
if (retval != ERROR_OK)
return retval;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
/* provide this for the benefit of the NOR flash framework */
bank->size = ambiqmicro_info->pagesize * ambiqmicro_info->num_pages;
/* provide this for the benefit of the NOR flash framework */
bank->size = ambiqmicro_info->pagesize * ambiqmicro_info->num_pages;
LOG_DEBUG("Done!");
r = ERROR_OK;
done:
LOG_DEBUG("Done!");
r = ERROR_OK;
done:
- if (pagebuffer)
- free(pagebuffer);
LOG_DEBUG("Done!");
r = ERROR_OK;
done:
LOG_DEBUG("Done!");
r = ERROR_OK;
done:
- if (pagebuffer)
- free(pagebuffer);
}
if (avr_info != NULL) {
}
if (avr_info != NULL) {
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
/* chip found */
bank->base = 0x00000000;
/* chip found */
bank->base = 0x00000000;
size = FLASH_NUM_SECTORS * FLASH_SECTOR_SIZE;
num_sectors = FLASH_NUM_SECTORS;
size = FLASH_NUM_SECTORS * FLASH_SECTOR_SIZE;
num_sectors = FLASH_NUM_SECTORS;
- if (NULL != bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
if (NULL == bank->sectors)
bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
if (NULL == bank->sectors)
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_intel_pri_ext *pri_ext;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_intel_pri_ext *pri_ext;
- if (cfi_info->pri_ext)
- free(cfi_info->pri_ext);
+ free(cfi_info->pri_ext);
pri_ext = malloc(sizeof(struct cfi_intel_pri_ext));
if (pri_ext == NULL) {
pri_ext = malloc(sizeof(struct cfi_intel_pri_ext));
if (pri_ext == NULL) {
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext;
- if (cfi_info->pri_ext)
- free(cfi_info->pri_ext);
+ free(cfi_info->pri_ext);
pri_ext = malloc(sizeof(struct cfi_spansion_pri_ext));
if (pri_ext == NULL) {
pri_ext = malloc(sizeof(struct cfi_spansion_pri_ext));
if (pri_ext == NULL) {
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext;
struct cfi_flash_bank *cfi_info = bank->driver_priv;
struct cfi_spansion_pri_ext *pri_ext;
- if (cfi_info->pri_ext)
- free(cfi_info->pri_ext);
+ free(cfi_info->pri_ext);
pri_ext = malloc(sizeof(struct cfi_spansion_pri_ext));
if (pri_ext == NULL) {
pri_ext = malloc(sizeof(struct cfi_spansion_pri_ext));
if (pri_ext == NULL) {
cfi_info->probed = false;
cfi_info->num_erase_regions = 0;
cfi_info->probed = false;
cfi_info->num_erase_regions = 0;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
- if (cfi_info->erase_region_info) {
- free(cfi_info->erase_region_info);
- cfi_info->erase_region_info = NULL;
- }
+
+ free(bank->sectors);
+ bank->sectors = NULL;
+
+ free(cfi_info->erase_region_info);
+ cfi_info->erase_region_info = NULL;
/* JEDEC standard JESD21C uses 0x5555 and 0x2aaa as unlock addresses,
* while CFI compatible AMD/Spansion flashes use 0x555 and 0x2aa
/* JEDEC standard JESD21C uses 0x5555 and 0x2aaa as unlock addresses,
* while CFI compatible AMD/Spansion flashes use 0x555 and 0x2aa
retval = retval2;
cleanup:
retval = retval2;
cleanup:
- if (new_buffer)
- free(new_buffer);
-
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
+ free(bank->sectors);
+ bank->sectors = NULL;
bank->base = base_address;
bank->size = (num_pages * efm32_mcu_info.page_size);
bank->base = base_address;
bank->size = (num_pages * efm32_mcu_info.page_size);
LOG_INFO("flash size = %dkbytes", num_pages*page_size/1024);
LOG_INFO("flash size = %dkbytes", num_pages*page_size/1024);
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
bank->base = base_address;
bank->size = (num_pages * page_size);
bank->base = base_address;
bank->size = (num_pages * page_size);
" please report to OpenOCD mailing list", fcfg2_maxaddr1);
}
" please report to OpenOCD mailing list", fcfg2_maxaddr1);
}
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
- if (bank->prot_blocks) {
- free(bank->prot_blocks);
- bank->prot_blocks = NULL;
- }
+ free(bank->sectors);
+ bank->sectors = NULL;
+
+ free(bank->prot_blocks);
+ bank->prot_blocks = NULL;
if (k_bank->sector_size == 0) {
LOG_ERROR("Unknown sector size for bank %u", bank->bank_number);
if (k_bank->sector_size == 0) {
LOG_ERROR("Unknown sector size for bank %u", bank->bank_number);
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
assert(bank->num_sectors > 0);
bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
assert(bank->num_sectors > 0);
bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
uint32_t arm_id[2];
uint16_t arm_pid;
uint32_t arm_id[2];
uint16_t arm_pid;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
/* provide this for the benefit of the NOR flash framework */
bank->size = info->flash_size;
/* provide this for the benefit of the NOR flash framework */
bank->size = info->flash_size;
retval = retval2;
free_buffer:
retval = retval2;
free_buffer:
- if (new_buffer)
- free(new_buffer);
/* read some bytes bytes to flush buffer in flash accelerator.
* See errata for 1986VE1T and 1986VE3. Error 0007 */
/* read some bytes bytes to flush buffer in flash accelerator.
* See errata for 1986VE1T and 1986VE3. Error 0007 */
page_count = mdr_info->page_count;
page_size = bank->size / page_count;
page_count = mdr_info->page_count;
page_size = bank->size / page_count;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
bank->num_sectors = page_count;
bank->sectors = malloc(sizeof(struct flash_sector) * page_count);
bank->num_sectors = page_count;
bank->sectors = malloc(sizeof(struct flash_sector) * page_count);
- if (NULL != bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
+ free(bank->sectors);
+ bank->sectors = NULL;
if (num_sectors > 0) {
bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
if (num_sectors > 0) {
bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
/* A single private struct is shared between main and info banks */
/* Only free it on the call for main bank */
/* A single private struct is shared between main and info banks */
/* Only free it on the call for main bank */
- if (is_main && (NULL != bank->driver_priv))
free(bank->driver_priv);
/* Forget about the private struct on both main and info banks */
free(bank->driver_priv);
/* Forget about the private struct on both main and info banks */
- if (new_buffer)
- free(new_buffer);
-
struct niietcm4_flash_bank *niietcm4_info = bank->driver_priv;
struct target *target = bank->target;
struct niietcm4_flash_bank *niietcm4_info = bank->driver_priv;
struct target *target = bank->target;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
+ free(bank->sectors);
+ bank->sectors = NULL;
+
uint32_t retval;
uint32_t chipid;
uint32_t retval;
uint32_t chipid;
destroy_reg_param(®_params[1]);
destroy_reg_param(®_params[2]);
destroy_reg_param(®_params[1]);
destroy_reg_param(®_params[2]);
- if (new_buffer != NULL)
- free(new_buffer);
LOG_INFO("flash size = %" PRId32 "kbytes", num_pages / 1024);
LOG_INFO("flash size = %" PRId32 "kbytes", num_pages / 1024);
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
/* calculate numbers of pages */
num_pages /= page_size;
/* calculate numbers of pages */
num_pages /= page_size;
- if (sysrq_buffer)
- free(sysrq_buffer);
psoc4_protect_check(bank);
return retval;
psoc4_protect_check(bank);
return retval;
cleanup:
jtag_poll_set_enabled(save_poll);
cleanup:
jtag_poll_set_enabled(save_poll);
- if (sysrq_buffer)
- free(sysrq_buffer);
-
- if (bank->sectors) {
- free(bank->sectors);
- }
psoc4_info->family_id = family_id;
psoc4_info->num_macros = num_macros;
psoc4_info->family_id = family_id;
psoc4_info->num_macros = num_macros;
/* Calculate size of Main Flash*/
uint32_t flash_sz_bytes = bank_cnt * row_cnt * row_sz;
/* Calculate size of Main Flash*/
uint32_t flash_sz_bytes = bank_cnt * row_cnt * row_sz;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
+ free(bank->sectors);
+ bank->sectors = NULL;
if (ret != ERROR_OK)
return ret;
if (ret != ERROR_OK)
return ret;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
bank->base = FLASH_BASE_ADDRESS;
bank->size = sim3x_info->flash_size_kb * SIM3X_FLASH_PAGE_SIZE;
bank->base = FLASH_BASE_ADDRESS;
bank->size = sim3x_info->flash_size_kb * SIM3X_FLASH_PAGE_SIZE;
if (retval != ERROR_OK)
return retval;
if (retval != ERROR_OK)
return retval;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
/* provide this for the benefit of the NOR flash framework */
bank->size = stellaris_info->num_pages * stellaris_info->pagesize;
/* provide this for the benefit of the NOR flash framework */
bank->size = stellaris_info->num_pages * stellaris_info->pagesize;
retval = retval2;
cleanup:
retval = retval2;
cleanup:
- if (new_buffer)
- free(new_buffer);
-
/* check that calculation result makes sense */
assert(num_pages > 0);
/* check that calculation result makes sense */
assert(num_pages > 0);
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
+ free(bank->sectors);
+ bank->sectors = NULL;
- if (bank->prot_blocks) {
- free(bank->prot_blocks);
- bank->prot_blocks = NULL;
- }
+ free(bank->prot_blocks);
+ bank->prot_blocks = NULL;
bank->base = base_address;
bank->size = (num_pages * page_size);
bank->base = base_address;
bank->size = (num_pages * page_size);
stm32x_info->protection_bits = 12; /* max. number of nWRPi bits (in FLASH_OPTCR !!!) */
num_prot_blocks = 0;
stm32x_info->protection_bits = 12; /* max. number of nWRPi bits (in FLASH_OPTCR !!!) */
num_prot_blocks = 0;
- if (bank->sectors) {
- free(bank->sectors);
- bank->num_sectors = 0;
- bank->sectors = NULL;
- }
+ free(bank->sectors);
+ bank->num_sectors = 0;
+ bank->sectors = NULL;
- if (bank->prot_blocks) {
- free(bank->prot_blocks);
- bank->num_prot_blocks = 0;
- bank->prot_blocks = NULL;
- }
+ free(bank->prot_blocks);
+ bank->num_prot_blocks = 0;
+ bank->prot_blocks = NULL;
/* if explicitly called out as OTP bank, short circuit probe */
if (stm32x_is_otp(bank)) {
/* if explicitly called out as OTP bank, short circuit probe */
if (stm32x_is_otp(bank)) {
bank->num_sectors = flash_size_in_kb / stm32x_info->part_info->page_size_kb;
assert(bank->num_sectors > 0);
bank->num_sectors = flash_size_in_kb / stm32x_info->part_info->page_size_kb;
assert(bank->num_sectors > 0);
- if (bank->sectors)
- free(bank->sectors);
bank->sectors = alloc_block_array(0, stm32x_info->part_info->page_size_kb * 1024,
bank->num_sectors);
bank->sectors = alloc_block_array(0, stm32x_info->part_info->page_size_kb * 1024,
bank->num_sectors);
bank->num_prot_blocks = bank->num_sectors / wpsn;
assert(bank->num_prot_blocks > 0);
bank->num_prot_blocks = bank->num_sectors / wpsn;
assert(bank->num_prot_blocks > 0);
- if (bank->prot_blocks)
- free(bank->prot_blocks);
+ free(bank->prot_blocks);
bank->prot_blocks = alloc_block_array(0, stm32x_info->part_info->page_size_kb * wpsn * 1024,
bank->num_prot_blocks);
bank->prot_blocks = alloc_block_array(0, stm32x_info->part_info->page_size_kb * wpsn * 1024,
bank->num_prot_blocks);
assert((stm32l4_info->wrpxxr_mask & 0xFFFF0000) == 0);
LOG_DEBUG("WRPxxR mask 0x%04" PRIx16, (uint16_t)stm32l4_info->wrpxxr_mask);
assert((stm32l4_info->wrpxxr_mask & 0xFFFF0000) == 0);
LOG_DEBUG("WRPxxR mask 0x%04" PRIx16, (uint16_t)stm32l4_info->wrpxxr_mask);
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
bank->size = (flash_size_kb + gap_size_kb) * 1024;
bank->base = STM32_FLASH_BANK_BASE;
bank->size = (flash_size_kb + gap_size_kb) * 1024;
bank->base = STM32_FLASH_BANK_BASE;
/* calculate numbers of sectors (4kB per sector) */
unsigned int num_sectors = (flash_size_in_kb * 1024) / FLASH_SECTOR_SIZE;
/* calculate numbers of sectors (4kB per sector) */
unsigned int num_sectors = (flash_size_in_kb * 1024) / FLASH_SECTOR_SIZE;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
bank->size = flash_size_in_kb * 1024;
bank->base = base_address;
bank->size = flash_size_in_kb * 1024;
bank->base = base_address;
FLASH_BANK_COMMAND_HANDLER(swm050_flash_bank_command)
{
FLASH_BANK_COMMAND_HANDLER(swm050_flash_bank_command)
{
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
bank->write_start_alignment = 4;
bank->write_end_alignment = 4;
bank->size = SWM050_FLASH_PAGE_SIZE * SWM050_FLASH_PAGES;
bank->write_start_alignment = 4;
bank->write_end_alignment = 4;
bank->size = SWM050_FLASH_PAGE_SIZE * SWM050_FLASH_PAGES;
rom_flash = (device_ident_reg >> 10) & 1;
part_number = (device_ident_reg >> 3) & 0x7f;
rom_flash = (device_ident_reg >> 10) & 1;
part_number = (device_ident_reg >> 3) & 0x7f;
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- bank->num_sectors = 0;
- }
+ free(bank->sectors);
+ bank->sectors = NULL;
+ bank->num_sectors = 0;
/*
* If the part number is known, determine if the flash bank is valid
/*
* If the part number is known, determine if the flash bank is valid
/* check that calculation result makes sense */
assert(num_pages > 0);
/* check that calculation result makes sense */
assert(num_pages > 0);
- if (bank->sectors) {
- free(bank->sectors);
- bank->sectors = NULL;
- }
+ free(bank->sectors);
+ bank->sectors = NULL;
bank->base = W600_FLASH_BASE;
bank->size = num_pages * W600_FLASH_SECSIZE;
bank->base = W600_FLASH_BASE;
bank->size = num_pages * W600_FLASH_SECSIZE;
Linking to existing account procedure
If you already have an account and want to add another login method
you
MUST first sign in with your existing account and
then change URL to read
https://review.openocd.org/login/?link
to get to this page again but this time it'll work for linking. Thank you.
SSH host keys fingerprints
1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=.. |
|+o.. . |
|*.o . . |
|+B . . . |
|Bo. = o S |
|Oo.+ + = |
|oB=.* = . o |
| =+=.+ + E |
|. .=o . o |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)