Replace snprint() with strscpy() and use min_t() instead of
the conditional operator to clamp buffer length.

Signed-off-by: Joey Pabalinas <joeypabali...@gmail.com>
---
 drivers/tty/nozomi.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/drivers/tty/nozomi.c b/drivers/tty/nozomi.c
index b57b35066ebea94639..f26bf1d1e9ee0e74eb 100644
--- a/drivers/tty/nozomi.c
+++ b/drivers/tty/nozomi.c
@@ -70,23 +70,23 @@ do {                                                        
\
 
 /* TODO: rewrite to optimize macros... */
 
 #define TMP_BUF_MAX 256
 
-#define DUMP(buf__,len__) \
-  do {  \
-    char tbuf[TMP_BUF_MAX] = {0};\
-    if (len__ > 1) {\
-       snprintf(tbuf, len__ > TMP_BUF_MAX ? TMP_BUF_MAX : len__, "%s", buf__);\
-       if (tbuf[len__-2] == '\r') {\
-               tbuf[len__-2] = 'r';\
-       } \
-       DBG1("SENDING: '%s' (%d+n)", tbuf, len__);\
-    } else {\
-       DBG1("SENDING: '%s' (%d)", tbuf, len__);\
-    } \
-} while (0)
+#define DUMP(buf__, len__)                                             \
+       do {                                                            \
+               char tbuf[TMP_BUF_MAX] = {0};                           \
+               if (len__ > 1) {                                        \
+                       u32 data_len = min_t(u32, len__, TMP_BUF_MAX);  \
+                       strscpy(tbuf, buf__, data_len);                 \
+                       if (tbuf[data_len - 2] == '\r')                 \
+                               tbuf[data_len - 2] = 'r';               \
+                       DBG1("SENDING: '%s' (%d+n)", tbuf, len__);      \
+               } else {                                                \
+                       DBG1("SENDING: '%s' (%d)", tbuf, len__);        \
+               }                                                       \
+       } while (0)
 
 /*    Defines */
 #define NOZOMI_NAME            "nozomi"
 #define NOZOMI_NAME_TTY                "nozomi_tty"
 #define DRIVER_DESC            "Nozomi driver"
-- 
2.17.0.rc1.35.g90bbd502d54fe92035.dirty

Reply via email to