noice

small file browser
git clone git://git.2f30.org/noice.git
Log | Files | Refs | README | LICENSE

commit b6c43f66a9adeb7e3f19d6cffc9c14abf60dd855
parent 1734a96745f54c4b53a0adef2ca03d9389339314
Author: lostd <lostd@2f30.org>
Date:   Wed Oct  8 15:08:29 +0300

Change string copies to use strlcpy(3)

Diffstat:
Makefile | 1+
noice.c | 10+++++++---
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git 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 @@ -13,6 +13,10 @@ #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;