Преглед на файлове

Just use xstrdup() in makepath()

master
sin преди 10 години
родител
ревизия
3639f1bbb4
променени са 1 файла, в които са добавени 8 реда и са изтрити 9 реда
  1. +8
    -9
      noice.c

+ 8
- 9
noice.c Целия файл

@@ -452,24 +452,23 @@ dentfree(struct entry *dents, int n)
char *
makepath(char *dir, char *name)
{
char *path;
char path[PATH_MAX];

/* Handle absolute path */
if (name[0] == '/') {
path = xstrdup(name);
strlcpy(path, name, sizeof(path));
} else {
path = xmalloc(PATH_MAX);
/* Handle root case */
if (strcmp(dir, "/") == 0) {
strlcpy(path, "/", PATH_MAX);
strlcat(path, name, PATH_MAX);
strlcpy(path, "/", sizeof(path));
strlcat(path, name, sizeof(path));
} else {
strlcpy(path, dir, PATH_MAX);
strlcat(path, "/", PATH_MAX);
strlcat(path, name, PATH_MAX);
strlcpy(path, dir, sizeof(path));
strlcat(path, "/", sizeof(path));
strlcat(path, name, sizeof(path));
}
}
return path;
return xstrdup(path);
}

/* Return the position of the matching entry or 0 otherwise */


Loading…
Отказ
Запис