flash: avoid checking for non NULL pointer to free it 11/5811/4
authorAntonio Borneo <borneo.antonio@gmail.com>
Mon, 17 Aug 2020 08:08:35 +0000 (10:08 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 5 Sep 2020 16:11:34 +0000 (17:11 +0100)
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:
src/flash/nand/fileio.c
src/flash/nor/ambiqmicro.c
src/flash/nor/at91sam3.c
src/flash/nor/at91sam4.c
src/flash/nor/at91samd.c
src/flash/nor/atsame5.c
src/flash/nor/avrf.c
src/flash/nor/cc3220sf.c
src/flash/nor/cfi.c
src/flash/nor/efm32.c
src/flash/nor/em357.c
src/flash/nor/kinetis.c
src/flash/nor/kinetis_ke.c
src/flash/nor/max32xxx.c
src/flash/nor/mdr.c
src/flash/nor/msp432.c
src/flash/nor/niietcm4.c
src/flash/nor/pic32mx.c
src/flash/nor/psoc4.c
src/flash/nor/psoc6.c
src/flash/nor/sim3x.c
src/flash/nor/stellaris.c
src/flash/nor/stm32f1x.c
src/flash/nor/stm32f2x.c
src/flash/nor/stm32h7x.c
src/flash/nor/stm32l4x.c
src/flash/nor/stm32lx.c
src/flash/nor/swm050.c
src/flash/nor/tms470.c
src/flash/nor/w600.c

index 1279e45a4fa565b254ff8d5d5af0dcaf6e3dd228..fee4012923ccec2686a29594279a708498df2dbe 100644 (file)
@@ -99,14 +99,11 @@ int nand_fileio_cleanup(struct nand_fileio_state *state)
        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)
index 622943d284e2ec3a696b3589610d9150b60aacdf..28dc42d8272f8c3903962a4e4bc1471a556c83c0 100644 (file)
@@ -672,10 +672,7 @@ static int ambiqmicro_probe(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       if (bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
 
        /* provide this for the benefit of the NOR flash framework */
        bank->size = ambiqmicro_info->pagesize * ambiqmicro_info->num_pages;
index 1e2a074aa80b122892eb0c941bfb34dff3e82695..c9baffc708916e95ad5d53787b1b1ba293e0f1b6 100644 (file)
@@ -3530,8 +3530,7 @@ static int sam3_write(struct flash_bank *bank,
        LOG_DEBUG("Done!");
        r = ERROR_OK;
 done:
-       if (pagebuffer)
-               free(pagebuffer);
+       free(pagebuffer);
        return r;
 }
 
index 4be3a5962a4594fc970873a1f0c2aca83bbb6e08..3f9ea9bfa1fd228f0d1066265452634d333efc0c 100644 (file)
@@ -3009,8 +3009,7 @@ static int sam4_write(struct flash_bank *bank,
        LOG_DEBUG("Done!");
        r = ERROR_OK;
 done:
-       if (pagebuffer)
-               free(pagebuffer);
+       free(pagebuffer);
        return r;
 }
 
index 63710d3e0bcc846cbf442c9683599e7a2f566b99..5fbf8bcaa83277d7cca08b8e8d640d0e0fa4aeea 100644 (file)
@@ -915,9 +915,7 @@ static int samd_write(struct flash_bank *bank, const uint8_t *buffer,
        }
 
 free_pb:
-       if (pb)
-               free(pb);
-
+       free(pb);
        return res;
 }
 
index 82306830a3d393512016c7bab85cd5ead015ed10..5d6010a2ad2fb25cedf32322a226334e7bd2c729 100644 (file)
@@ -731,9 +731,7 @@ static int same5_write(struct flash_bank *bank, const uint8_t *buffer,
        }
 
 free_pb:
-       if (pb)
-               free(pb);
-
+       free(pb);
        return res;
 }
 
index 4ec1161af24a7856d84089ff2388ec9456b90a2d..70d4d341b506ed1d099ff200af2b9e79a568e929 100644 (file)
@@ -333,10 +333,7 @@ static int avrf_probe(struct flash_bank *bank)
        }
 
        if (avr_info != NULL) {
-               if (bank->sectors) {
-                       free(bank->sectors);
-                       bank->sectors = NULL;
-               }
+               free(bank->sectors);
 
                /* chip found */
                bank->base = 0x00000000;
index 5e88aa61b9b9b8ca80e3cea69b0a4cfb31d47ea4..5427bd3a9b3bff6303ad52b99d79febedbb8a291 100644 (file)
@@ -438,10 +438,7 @@ static int cc3220sf_probe(struct flash_bank *bank)
        size = FLASH_NUM_SECTORS * FLASH_SECTOR_SIZE;
        num_sectors = FLASH_NUM_SECTORS;
 
-       if (NULL != bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
 
        bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
        if (NULL == bank->sectors)
index 887821b79c66cbe86c43011d38b006c69fdba8e4..964e06ac70a5e0c995530d48be36b19e83eaacf0 100644 (file)
@@ -423,8 +423,7 @@ static int cfi_read_intel_pri_ext(struct flash_bank *bank)
        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) {
@@ -520,8 +519,7 @@ static int cfi_read_spansion_pri_ext(struct flash_bank *bank)
        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) {
@@ -623,8 +621,7 @@ static int cfi_read_atmel_pri_ext(struct flash_bank *bank)
        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) {
@@ -2593,14 +2590,12 @@ int cfi_probe(struct flash_bank *bank)
 
        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
index 2c323b07e03cefbb293d0e495cbf5e5a1ac744f1..6f290076241da781741f0eb39fb2c44fa02d275b 100644 (file)
@@ -951,9 +951,7 @@ reset_pg_and_lock:
                retval = retval2;
 
 cleanup:
-       if (new_buffer)
-               free(new_buffer);
-
+       free(new_buffer);
        return retval;
 }
 
@@ -987,10 +985,8 @@ static int efm32x_probe(struct flash_bank *bank)
 
        assert(num_pages > 0);
 
-       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);
index cb4456209f040e83b9ea8fc282592e7d8956ef34..4e2a169c663620a9e2c81e6891e3bb8642eb1e9e 100644 (file)
@@ -724,10 +724,7 @@ static int em357_probe(struct flash_bank *bank)
 
        LOG_INFO("flash size = %dkbytes", num_pages*page_size/1024);
 
-       if (bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
 
        bank->base = base_address;
        bank->size = (num_pages * page_size);
index 43b90f1f0c0c7beb78686ff39dd93f1974c11b15..6b6121d3b4c66dc3a4a48e11925273bdc1c6e153 100644 (file)
@@ -2736,14 +2736,11 @@ static int kinetis_probe(struct flash_bank *bank)
                                " 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);
index 6afb3b9e6a25fe3c0b5d722c7b85245b4e8dbcb8..349b2564d37778c7907ce1c17488a7da3f84f529 100644 (file)
@@ -1145,10 +1145,7 @@ static int kinetis_ke_probe(struct flash_bank *bank)
                        break;
        }
 
-       if (bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
 
        assert(bank->num_sectors > 0);
        bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
index c840bd795d255bcae07a0baec449b04c088d7e18..bf54f63ba0d4e469631172d76dd58509cb908eed 100644 (file)
@@ -651,10 +651,7 @@ static int max32xxx_probe(struct flash_bank *bank)
        uint32_t arm_id[2];
        uint16_t arm_pid;
 
-       if (bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
 
        /* provide this for the benefit of the NOR flash framework */
        bank->size = info->flash_size;
index b835f92377eddb0a0e2dc2994571163295e4aba8..2518c229b25d1320118a05f486c4dd19cc8c07a1 100644 (file)
@@ -458,8 +458,7 @@ reset_pg_and_lock:
                retval = retval2;
 
 free_buffer:
-       if (new_buffer)
-               free(new_buffer);
+       free(new_buffer);
 
        /* read some bytes bytes to flush buffer in flash accelerator.
         * See errata for 1986VE1T and 1986VE3. Error 0007 */
@@ -573,10 +572,7 @@ static int mdr_probe(struct flash_bank *bank)
        page_count = mdr_info->page_count;
        page_size = bank->size / page_count;
 
-       if (bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
 
        bank->num_sectors = page_count;
        bank->sectors = malloc(sizeof(struct flash_sector) * page_count);
index 0c925bdd39ff36382a43e686cc99b17ce5b07c3a..d2417bc89b227b1ce525b06791216e040e65d205 100644 (file)
@@ -902,10 +902,8 @@ static int msp432_probe(struct flash_bank *bank)
                }
        }
 
-       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);
@@ -1046,7 +1044,7 @@ static void msp432_flash_free_driver_priv(struct flash_bank *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))
+       if (is_main)
                free(bank->driver_priv);
 
        /* Forget about the private struct on both main and info banks */
index 2377e14f74554661bf0e4749480c4cea5fb60b4c..2a20edcee960d8b06bbc60c283f3fffcf1cf330a 100644 (file)
@@ -1469,9 +1469,7 @@ static int niietcm4_write(struct flash_bank *bank, const uint8_t *buffer,
        }
 
 free_buffer:
-       if (new_buffer)
-               free(new_buffer);
-
+       free(new_buffer);
        return retval;
 }
 
@@ -1681,10 +1679,9 @@ static int niietcm4_probe(struct flash_bank *bank)
        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;
 
index 9b918534404312481cd4557354373b5b39a93d80..ae5ebb93223a8ff2b81883f53e8794e0ce1f30ea 100644 (file)
@@ -591,8 +591,7 @@ static int pic32mx_write_block(struct flash_bank *bank, const uint8_t *buffer,
        destroy_reg_param(&reg_params[1]);
        destroy_reg_param(&reg_params[2]);
 
-       if (new_buffer != NULL)
-               free(new_buffer);
+       free(new_buffer);
        return retval;
 }
 
@@ -774,10 +773,7 @@ static int pic32mx_probe(struct flash_bank *bank)
 
        LOG_INFO("flash size = %" PRId32 "kbytes", num_pages / 1024);
 
-       if (bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
 
        /* calculate numbers of pages */
        num_pages /= page_size;
index 0c656349f85b34bd0fafe29768d1839945f27b24..9c2fdf7754aa5c41be9ecc56303d8d482ec4b1df 100644 (file)
@@ -610,8 +610,7 @@ static int psoc4_protect(struct flash_bank *bank, int set, unsigned int first,
                        break;
        }
 
-       if (sysrq_buffer)
-               free(sysrq_buffer);
+       free(sysrq_buffer);
 
        psoc4_protect_check(bank);
        return retval;
@@ -714,9 +713,7 @@ static int psoc4_write(struct flash_bank *bank, const uint8_t *buffer,
 cleanup:
        jtag_poll_set_enabled(save_poll);
 
-       if (sysrq_buffer)
-               free(sysrq_buffer);
-
+       free(sysrq_buffer);
        return retval;
 }
 
@@ -827,9 +824,7 @@ static int psoc4_probe(struct flash_bank *bank)
                }
        }
 
-       if (bank->sectors) {
-               free(bank->sectors);
-       }
+       free(bank->sectors);
 
        psoc4_info->family_id = family_id;
        psoc4_info->num_macros = num_macros;
index c7141738d00cc0454fe83f04a61d5418431fad07..09a1bed563a8898caa27269643f2e812a3323d62 100644 (file)
@@ -585,10 +585,8 @@ static int psoc6_probe(struct flash_bank *bank)
        /* 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;
 
        size_t bank_size = 0;
 
index 21449041c8081aee5637e7b1691da311e59bf2f2..76280f1abc9e0851bd66b608c66f97fee97967d3 100644 (file)
@@ -801,10 +801,7 @@ static int sim3x_probe(struct flash_bank *bank)
        if (ret != ERROR_OK)
                return ret;
 
-       if (bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
 
        bank->base = FLASH_BASE_ADDRESS;
        bank->size = sim3x_info->flash_size_kb * SIM3X_FLASH_PAGE_SIZE;
index 34c9c28febf3be660b64150c57fc822556f5d23c..55b99de3fc719dee3c9097fc3752211386dbb7b6 100644 (file)
@@ -1250,10 +1250,7 @@ static int stellaris_probe(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       if (bank->sectors) {
-               free(bank->sectors);
-               bank->sectors = NULL;
-       }
+       free(bank->sectors);
 
        /* provide this for the benefit of the NOR flash framework */
        bank->size = stellaris_info->num_pages * stellaris_info->pagesize;
index a07bd847b5f40f1b7a5a234da6fdf15a791dc28e..78efc8b479184395ae0475193b8a1dbf8ab70177 100644 (file)
@@ -617,9 +617,7 @@ reset_pg_and_lock:
                retval = retval2;
 
 cleanup:
-       if (new_buffer)
-               free(new_buffer);
-
+       free(new_buffer);
        return retval;
 }
 
@@ -872,15 +870,11 @@ static int stm32x_probe(struct flash_bank *bank)
        /* 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);
index 52bad4b0da01db88f9dc1b68c1ea70f1a4a2ab5b..e3625f32268840d818e99e000ee00cf43dbf2cea 100644 (file)
@@ -1013,17 +1013,13 @@ static int stm32x_probe(struct flash_bank *bank)
        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)) {
index 9f456b29d703466d6b566a6ad40e5487a64520d3..ac7d7594810627a72548bde16a816b8b10ca9d02 100644 (file)
@@ -853,8 +853,7 @@ static int stm32x_probe(struct flash_bank *bank)
        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);
+       free(bank->sectors);
 
        bank->sectors = alloc_block_array(0, stm32x_info->part_info->page_size_kb * 1024,
                        bank->num_sectors);
@@ -871,8 +870,7 @@ static int stm32x_probe(struct flash_bank *bank)
        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);
index c56bd6d600a3dd8b862f819d7826895cd55c7752..0b5e1b04b48e6032d904f8b5c81ed6db4ab24991 100644 (file)
@@ -1040,10 +1040,7 @@ static int stm32l4_probe(struct flash_bank *bank)
        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;
-       }
+       free(bank->sectors);
 
        bank->size = (flash_size_kb + gap_size_kb) * 1024;
        bank->base = STM32_FLASH_BANK_BASE;
index cf5b360409d149eec40a78db65a2669630258a10..34c7408b012fd53bbe279d56ed092b55ee760154 100644 (file)
@@ -836,10 +836,7 @@ static int stm32lx_probe(struct flash_bank *bank)
        /* 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;
-       }
+       free(bank->sectors);
 
        bank->size = flash_size_in_kb * 1024;
        bank->base = base_address;
index 020a1dac704a01fdb1f30832c1fe915d69b18825..98361eb91d1fc80ed87414c16153fd896c4d1ff4 100644 (file)
@@ -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;
index 4b8d2208afef5a440e471c52616ec6cd8c263446..611688c6ae4a11dfcb4fdcfaa953291889a15b7e 100644 (file)
@@ -148,11 +148,9 @@ static int tms470_read_part_info(struct flash_bank *bank)
        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
index 4790821777fcc5e688ff6c90fa424cbf5ce737c8..043959326923c7baf185f5f67f4bf9800fae9bde 100644 (file)
@@ -331,10 +331,8 @@ static int w600_probe(struct flash_bank *bank)
        /* 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;

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)