]> Sergey Matveev's repositories - nnn.git/commitdiff
Change string copies to use strlcpy(3)
authorlostd <lostd@2f30.org>
Wed, 8 Oct 2014 12:08:29 +0000 (15:08 +0300)
committerlostd <lostd@2f30.org>
Wed, 8 Oct 2014 12:08:29 +0000 (15:08 +0300)
Makefile
noice.c

index 922bf96d2e1f68115259f8c3e384e70ee550ea04..c2cdcad14242730ec0f2f685618f9fdc8659a618 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
 #CPPFLAGS += -DDEBUG
 #CFLAGS += -g
 LDLIBS = -lncursesw
+#LDLIBS += -lbsd
 BIN = noice
 
 all: $(BIN)
diff --git a/noice.c b/noice.c
index c69e85ee397329d47138e8078dcab2188239b231..656ec8f65fb41e7ada3a9d61152a1513241d9cfb 100644 (file)
--- a/noice.c
+++ b/noice.c
 #include <string.h>
 #include <unistd.h>
 
+#ifdef LINUX
+#include <bsd/string.h>
+#endif
+
 #ifdef DEBUG
 #define DEBUG_FD 8
 #define DPRINTF_D(x) dprintf(DEBUG_FD, #x "=%d\n", x)
@@ -280,13 +284,13 @@ redraw:
 
                /* No text wrapping in cwd line */
                cwd = malloc(COLS * sizeof(char));
-               strncpy(cwd, path, COLS);
+               strlcpy(cwd, path, COLS * sizeof(char));
                cwd[COLS - strlen(CWD) - 1] = '\0';
 
                /* No text wrapping in entries */
                tmpents = malloc(n * sizeof(*tmpents));
                for (i = 0; i < n; i++) {
-                       strncpy(tmpents[i].name, dents[i]->d_name,
+                       strlcpy(tmpents[i].name, dents[i]->d_name,
                            sizeof(tmpents[i].name));
                        tmpents[i].name[COLS - strlen(CURSR) - 1] = '\0';
                }
@@ -335,7 +339,7 @@ nochange:
 
                                dir = dirname(path);
                                tmp = malloc(strlen(dir) + 1);
-                               strncpy(tmp, dir, strlen(dir) + 1);
+                               strlcpy(tmp, dir, strlen(dir) + 1);
                                free(path);
                                path = tmp;
                                goto out;