This is an automated email from Gerrit. Christopher Head ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/5782
-- gerrit commit 0dd7a1455587b9d3ff527fa3cd248e16dbf5bf41 Author: Christopher Head <[email protected]> Date: Fri Jul 17 14:44:35 2020 -0700 src/flash/nor/virtual: handle null pointers Either of protect and protect_check driver callbacks can be NULL. In virtual_protect, reuse flash_driver_protect which checks for that case and generates a nice error message and return code. In virtual_protect_check, there is no corresponding flash_driver_* function, so add the NULL check directly. Change-Id: Ia63d85ede640a8382cf5cad0760f5d1ffe4d7cfe Signed-off-by: Christopher Head <[email protected]> diff --git a/src/flash/nor/virtual.c b/src/flash/nor/virtual.c index c9e1942..de091f8 100644 --- a/src/flash/nor/virtual.c +++ b/src/flash/nor/virtual.c @@ -79,33 +79,27 @@ static int virtual_protect(struct flash_bank *bank, int set, unsigned int first, unsigned int last) { struct flash_bank *master_bank = virtual_get_master_bank(bank); - int retval; if (master_bank == NULL) return ERROR_FLASH_OPERATION_FAILED; - /* call master handler */ - retval = master_bank->driver->protect(master_bank, set, first, last); - if (retval != ERROR_OK) - return retval; - - return ERROR_OK; + return flash_driver_protect(master_bank, set, first, last); } static int virtual_protect_check(struct flash_bank *bank) { struct flash_bank *master_bank = virtual_get_master_bank(bank); - int retval; if (master_bank == NULL) return ERROR_FLASH_OPERATION_FAILED; - /* call master handler */ - retval = master_bank->driver->protect_check(master_bank); - if (retval != ERROR_OK) - return retval; + if (master_bank->driver->protect_check == NULL) { + LOG_ERROR("Flash protection checking is not supported."); + return ERROR_FLASH_OPER_UNSUPPORTED; + } - return ERROR_OK; + /* call master handler */ + return master_bank->driver->protect_check(master_bank); } static int virtual_erase(struct flash_bank *bank, unsigned int first, -- _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
