From 3f0da9390230e58f2fa3cfa1457d1e9c3c686695 Mon Sep 17 00:00:00 2001 From: David Leach Date: Tue, 30 Mar 2021 17:59:26 -0500 Subject: [PATCH] subsys/modbus: Fix potential memory overwrite (coverity) The size of ctx->rx_adu.data is not CONFIG_MODBUS_BUFFER_SIZE. Coverity flagged the potential overwrite so just use sizeof(). Fixes #33789 Fixes #33792 Fixes #33818 Signed-off-by: David Leach --- subsys/modbus/modbus_raw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subsys/modbus/modbus_raw.c b/subsys/modbus/modbus_raw.c index 7f98a54d288..e4e330f5ad8 100644 --- a/subsys/modbus/modbus_raw.c +++ b/subsys/modbus/modbus_raw.c @@ -70,7 +70,7 @@ int modbus_raw_submit_rx(const int iface, const struct modbus_adu *adu) ctx->rx_adu.unit_id = adu->unit_id; ctx->rx_adu.fc = adu->fc; memcpy(ctx->rx_adu.data, adu->data, - MIN(adu->length, CONFIG_MODBUS_BUFFER_SIZE)); + MIN(adu->length, sizeof(ctx->rx_adu.data))); k_work_submit(&ctx->server_work); return 0;