Re: [PATCH] hwmon: (pmbus/ibm-cffps) fix format-truncation warning

From: Guenter Roeck

Date: Fri Aug 21 2026 - 10:01:18 EST


On 8/21/26 04:57, hanzhijian wrote:
snprintf() with "%02X" and "%04X" specifiers on an int argument
triggers -Wformat-truncation (and thus a build failure with
CONFIG_WERROR) because GCC assumes the int can hold a value wider
than the destination buffer.

The value comes from i2c_smbus_read_byte_data() and
i2c_smbus_read_word_data(), which return at most 8 and 16 bits
respectively, so mask the value to make that explicit and silence
the warning.


So the perceived overflow never happens, and the patch would be
purely to make the compiler happy. I am not going to apply such patches.

Guenter

Signed-off-by: hanzhijian <hanzhijian1991@xxxxxxxxx>
---
drivers/hwmon/pmbus/ibm-cffps.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/hwmon/pmbus/ibm-cffps.c b/drivers/hwmon/pmbus/ibm-cffps.c
index aad94bcb9..dd7ff3a19 100644
--- a/drivers/hwmon/pmbus/ibm-cffps.c
+++ b/drivers/hwmon/pmbus/ibm-cffps.c
@@ -166,7 +166,7 @@ static ssize_t ibm_cffps_debugfs_read(struct file *file, char __user *buf,
if (rc < 0)
goto unlock;
- snprintf(&data[i * 2], 3, "%02X", rc);
+ snprintf(&data[i * 2], 3, "%02X", rc & 0xff);
}
rc = i * 2;
@@ -177,7 +177,7 @@ static ssize_t ibm_cffps_debugfs_read(struct file *file, char __user *buf,
if (rc < 0)
goto unlock;
- snprintf(&data[i * 4], 5, "%04X", rc);
+ snprintf(&data[i * 4], 5, "%04X", rc & 0xffff);
}
rc = i * 4;