Return value of strlcpy() is not checked. Name string is silently
truncated if longer that SPI_NAME_SIZE, whilst not detrimental to
the program logic it would be nice to notify the user. Module is
currently quite verbose, adding extra pr_warn() calls will not overly
impact this verbosity.

Check return value from call to strlcpy(). If source string is
truncated call pr_warn() to notify user.

Signed-off-by: Tobin C. Harding <m...@tobin.cc>
---
 drivers/staging/fbtft/fbtft_device.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/fbtft/fbtft_device.c 
b/drivers/staging/fbtft/fbtft_device.c
index 5fbdd37..78baf46 100644
--- a/drivers/staging/fbtft/fbtft_device.c
+++ b/drivers/staging/fbtft/fbtft_device.c
@@ -1483,7 +1483,13 @@ static int __init fbtft_device_init(void)
                        displays[i].pdev->name = name;
                        displays[i].spi = NULL;
                } else {
-                       strlcpy(displays[i].spi->modalias, name, SPI_NAME_SIZE);
+                       size_t len;
+
+                       len = strlcpy(displays[i].spi->modalias, name,
+                               SPI_NAME_SIZE);
+                       if (len >= SPI_NAME_SIZE)
+                               pr_warn("modalias (name) truncated to: %s\n",
+                                       displays[i].spi->modalias);
                        displays[i].pdev = NULL;
                }
        }
-- 
2.7.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to