staging: fbtft: Add check on strlcpy() return value
authorTobin C. Harding <me@tobin.cc>
Wed, 15 Feb 2017 03:27:25 +0000 (14:27 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Mar 2017 08:16:59 +0000 (09:16 +0100)
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 <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fbtft/fbtft_device.c

index 61b7bfc7d714c4f342d4aeb1d5a95860a31a1548..7545e08010bc76e487441ed851f0e5b15ce86ccb 100644 (file)
@@ -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;
                }
        }