From cf859fc7ec4c6955a5b38345e3a4501f31b34c82 Mon Sep 17 00:00:00 2001 From: Marius Tolzmann Date: Fri, 16 Dec 2011 17:18:28 +0100 Subject: [PATCH] bee-dep: fix creation of BEE_CACHEDIR see dirname(3): RETURN VALUE Both dirname() and basename() return pointers to null-terminated strings. (Do not pass these pointers to free(3).) --- src/bee-dep.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/bee-dep.c b/src/bee-dep.c index 357ae6b..99d2aaf 100644 --- a/src/bee-dep.c +++ b/src/bee-dep.c @@ -197,7 +197,7 @@ int main(int argc, char *argv[]) int c, help, rebuild, update, remove, print, options; char found; char cachefile[PATH_MAX + 1], path[PATH_MAX + 1], tmp[PATH_MAX + 1]; - char *bee_metadir, *bee_cachedir, *dir, *pkgname; + char *bee_metadir, *bee_cachedir, *pkgname; struct hash *graph; struct stat st; FILE *cache; @@ -272,16 +272,11 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } - dir = strdup(cachefile); - dir = dirname(dir); - - if (mkdirp(dir, 0755) == -1) { + if (mkdirp(bee_cachedir, 0755) == -1) { perror("bee-dep: mkdirp"); exit(EXIT_FAILURE); } - free(dir); - graph = NULL; found = (stat(cachefile, &st) != -1 && S_ISREG(st.st_mode));