From f6211e2641dc4d7644225ce2b6610d5d60d49346 Mon Sep 17 00:00:00 2001 From: Andrei Emeltchenko Date: Mon, 22 May 2023 16:36:41 +0300 Subject: [PATCH] drivers: sbs_gauge: Fix buffer overflow Fixes buffer overflow when trying to copy 5 bytes to 4 bytes array. Signed-off-by: Andrei Emeltchenko --- drivers/fuel_gauge/sbs_gauge/emul_sbs_gauge.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/fuel_gauge/sbs_gauge/emul_sbs_gauge.c b/drivers/fuel_gauge/sbs_gauge/emul_sbs_gauge.c index 41f501aec43..18dc997b014 100644 --- a/drivers/fuel_gauge/sbs_gauge/emul_sbs_gauge.c +++ b/drivers/fuel_gauge/sbs_gauge/emul_sbs_gauge.c @@ -141,7 +141,8 @@ static int emul_sbs_gauge_buffer_read(const struct emul *target, int reg, char * break; case SBS_GAUGE_CMD_DEVICE_CHEMISTRY: - dev_chem->device_chemistry_length = sizeof(chem); + dev_chem->device_chemistry_length = MIN(sizeof(chem), + sizeof(dev_chem->device_chemistry)); memcpy(dev_chem->device_chemistry, chem, dev_chem->device_chemistry_length); break; default: