diff --git a/libraries/AP_IOMCU/AP_IOMCU.cpp b/libraries/AP_IOMCU/AP_IOMCU.cpp index a01cd33316..cf5b965364 100644 --- a/libraries/AP_IOMCU/AP_IOMCU.cpp +++ b/libraries/AP_IOMCU/AP_IOMCU.cpp @@ -781,7 +781,7 @@ bool AP_IOMCU::check_crc(void) if (io_crc == crc) { hal.console->printf("IOMCU: CRC ok\n"); crc_is_ok = true; - free(fw); + AP_ROMFS::free(fw); fw = nullptr; return true; } else { @@ -792,12 +792,12 @@ bool AP_IOMCU::check_crc(void) write_registers(PAGE_SETUP, PAGE_REG_SETUP_REBOOT_BL, 1, &magic); if (!upload_fw()) { - free(fw); + AP_ROMFS::free(fw); fw = nullptr; AP_BoardConfig::sensor_config_error("Failed to update IO firmware"); } - free(fw); + AP_ROMFS::free(fw); fw = nullptr; return false; } diff --git a/libraries/AP_IOMCU/AP_IOMCU.h b/libraries/AP_IOMCU/AP_IOMCU.h index c02721061e..06b745decb 100644 --- a/libraries/AP_IOMCU/AP_IOMCU.h +++ b/libraries/AP_IOMCU/AP_IOMCU.h @@ -215,7 +215,7 @@ private: // firmware upload const char *fw_name = "io_firmware.bin"; - uint8_t *fw; + const uint8_t *fw; uint32_t fw_size; size_t write_wait(const uint8_t *pkt, uint8_t len);