From 7b7b0b90592a023ac8946b29cca871bf17741fab Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Sun, 25 Jul 2010 21:23:59 +0000 Subject: [PATCH] caif: handle snprintf() return snprintf() returns the number of bytes that would have been written. It can be larger than the size of the buffer. The current code won't overflow, but people cut and paste this stuff so lets do it right and also make the static checkers happy. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller --- drivers/net/caif/caif_spi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/caif/caif_spi.c b/drivers/net/caif/caif_spi.c index 6c948037fc78..f5058ff2b210 100644 --- a/drivers/net/caif/caif_spi.c +++ b/drivers/net/caif/caif_spi.c @@ -165,6 +165,9 @@ static ssize_t dbgfs_state(struct file *file, char __user *user_buf, len += snprintf((buf + len), (DEBUGFS_BUF_SIZE - len), "Next RX len: %d\n", cfspi->rx_npck_len); + if (len > DEBUGFS_BUF_SIZE) + len = DEBUGFS_BUF_SIZE; + size = simple_read_from_buffer(user_buf, count, ppos, buf, len); kfree(buf); -- 2.39.5