Re: [PATCH 1/7] comedi: Convert snprintf() to scnprintf()

From: Ian Abbott
Date: Wed Sep 28 2022 - 11:46:06 EST


On 27/09/2022 07:06, Greg KH wrote:
On Mon, Sep 26, 2022 at 07:37:37PM +0100, Jules Irenge wrote:
Coccinnelle reports a warning
Warning: Use scnprintf or sprintf
Adding to that, there has been a slow migration from snprintf to scnprintf.
This LWN article explains the rationale for this change
https: //lwn.net/Articles/69419/
Ie. snprintf() returns what *would* be the resulting length,
while scnprintf() returns the actual length.

Signed-off-by: Jules Irenge <jbi.octave@xxxxxxxxx>
---
drivers/comedi/comedi_fops.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/comedi/comedi_fops.c b/drivers/comedi/comedi_fops.c
index 55a0cae04b8d..e8a0142d5894 100644
--- a/drivers/comedi/comedi_fops.c
+++ b/drivers/comedi/comedi_fops.c
@@ -396,7 +396,7 @@ static ssize_t max_read_buffer_kb_show(struct device *csdev,
mutex_unlock(&dev->mutex);
comedi_dev_put(dev);
- return snprintf(buf, PAGE_SIZE, "%u\n", size);
+ return scnprintf(buf, PAGE_SIZE, "%u\n", size);

Ick, no, you should use sysfs_emit() if you really want to change these
functions to "do the right thing".

There was a patch to do that by Xuezhi Zhang. It got to PATCH v4. I should have replied with a "Reviewed-By" tag, but I'd already done that for the earlier versions.

https://lore.kernel.org/lkml/20220901013423.418464-1-zhangxuezhi3@xxxxxxxxx/

--
-=( Ian Abbott <abbotti@xxxxxxxxx> || MEV Ltd. is a company )=-
-=( registered in England & Wales. Regd. number: 02862268. )=-
-=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=-
-=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=-