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

Guenter Roeck <[email protected]>
Newsgroups org.kernel.vger.linux-hwmon,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
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 <[email protected]>
> ---
>   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;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.