Change string copies to use strlcpy(3)

This commit is contained in:
lostd 2014-10-08 15:08:29 +03:00
parent 1734a96745
commit b6c43f66a9
2 changed files with 8 additions and 3 deletions

View File

@ -1,6 +1,7 @@
#CPPFLAGS += -DDEBUG
#CFLAGS += -g
LDLIBS = -lncursesw
#LDLIBS += -lbsd
BIN = noice
all: $(BIN)

10
noice.c
View File

@ -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;