From 74f96976634e30df1c156803047d89a70eba74f8 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Tue, 9 Aug 2016 21:05:19 +0200 Subject: [PATCH] tree-wide: replace readdir_r() with readdir() Signed-off-by: Christian Brauner --- src/lxc/bdev/lxcloop.c | 4 ++-- src/lxc/cgroups/cgfs.c | 23 ++++------------------- src/lxc/cgroups/cgfsng.c | 8 ++++---- src/lxc/conf.c | 4 ++-- src/lxc/confile.c | 4 ++-- src/lxc/lxccontainer.c | 20 ++++++++++---------- src/lxc/start.c | 4 ++-- src/lxc/utils.c | 4 ++-- 8 files changed, 28 insertions(+), 43 deletions(-) diff --git a/src/lxc/bdev/lxcloop.c b/src/lxc/bdev/lxcloop.c index c17483f4d..b322002df 100644 --- a/src/lxc/bdev/lxcloop.c +++ b/src/lxc/bdev/lxcloop.c @@ -269,7 +269,7 @@ static int do_loop_create(const char *path, uint64_t size, const char *fstype) static int find_free_loopdev_no_control(int *retfd, char *namep) { - struct dirent dirent, *direntp; + struct dirent *direntp; struct loop_info64 lo; DIR *dir; int fd = -1; @@ -279,7 +279,7 @@ static int find_free_loopdev_no_control(int *retfd, char *namep) SYSERROR("Error opening /dev"); return -1; } - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { if (!direntp) break; diff --git a/src/lxc/cgroups/cgfs.c b/src/lxc/cgroups/cgfs.c index 6b2ac7ee1..2d0de0c11 100644 --- a/src/lxc/cgroups/cgfs.c +++ b/src/lxc/cgroups/cgfs.c @@ -157,7 +157,7 @@ static struct cgroup_ops cgfs_ops; static int cgroup_rmdir(char *dirname) { - struct dirent dirent, *direntp; + struct dirent *direntp; int saved_errno = 0; DIR *dir; int ret, failed=0; @@ -169,7 +169,7 @@ static int cgroup_rmdir(char *dirname) return -1; } - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { struct stat mystat; int rc; @@ -2067,26 +2067,14 @@ out: static int cgroup_recursive_task_count(const char *cgroup_path) { DIR *d; - struct dirent *dent_buf; struct dirent *dent; - ssize_t name_max; int n = 0, r; - /* see man readdir_r(3) */ - name_max = pathconf(cgroup_path, _PC_NAME_MAX); - if (name_max <= 0) - name_max = 255; - dent_buf = malloc(offsetof(struct dirent, d_name) + name_max + 1); - if (!dent_buf) - return -1; - d = opendir(cgroup_path); - if (!d) { - free(dent_buf); + if (!d) return 0; - } - while (readdir_r(d, dent_buf, &dent) == 0 && dent) { + while ((dent = readdir(d))) { const char *parts[3] = { cgroup_path, dent->d_name, @@ -2100,13 +2088,11 @@ static int cgroup_recursive_task_count(const char *cgroup_path) sub_path = lxc_string_join("/", parts, false); if (!sub_path) { closedir(d); - free(dent_buf); return -1; } r = stat(sub_path, &st); if (r < 0) { closedir(d); - free(dent_buf); free(sub_path); return -1; } @@ -2122,7 +2108,6 @@ static int cgroup_recursive_task_count(const char *cgroup_path) free(sub_path); } closedir(d); - free(dent_buf); return n; } diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c index 27c272103..95f29cad1 100644 --- a/src/lxc/cgroups/cgfsng.c +++ b/src/lxc/cgroups/cgfsng.c @@ -907,7 +907,7 @@ static char *must_make_path(const char *first, ...) static int cgroup_rmdir(char *dirname) { - struct dirent dirent, *direntp; + struct dirent *direntp; DIR *dir; int r = 0; @@ -915,7 +915,7 @@ static int cgroup_rmdir(char *dirname) if (!dir) return -1; - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { struct stat mystat; char *pathname; @@ -1367,7 +1367,7 @@ bad: static int recursive_count_nrtasks(char *dirname) { - struct dirent dirent, *direntp; + struct dirent *direntp; DIR *dir; int count = 0, ret; char *path; @@ -1376,7 +1376,7 @@ static int recursive_count_nrtasks(char *dirname) if (!dir) return 0; - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { struct stat mystat; if (!direntp) diff --git a/src/lxc/conf.c b/src/lxc/conf.c index 9fea9934a..4ece410e9 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -510,7 +510,7 @@ out: static int mount_rootfs_file(const char *rootfs, const char *target, const char *options) { - struct dirent dirent, *direntp; + struct dirent *direntp; struct loop_info64 loinfo; int ret = -1, fd = -1, rc; DIR *dir; @@ -522,7 +522,7 @@ static int mount_rootfs_file(const char *rootfs, const char *target, return -1; } - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { if (!direntp) break; diff --git a/src/lxc/confile.c b/src/lxc/confile.c index db89caaff..5ce2dc478 100644 --- a/src/lxc/confile.c +++ b/src/lxc/confile.c @@ -1805,7 +1805,7 @@ int append_unexp_config_line(const char *line, struct lxc_conf *conf) static int do_includedir(const char *dirp, struct lxc_conf *lxc_conf) { - struct dirent dirent, *direntp; + struct dirent *direntp; DIR *dir; char path[MAXPATHLEN]; int ret = -1, len; @@ -1816,7 +1816,7 @@ static int do_includedir(const char *dirp, struct lxc_conf *lxc_conf) return -1; } - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { const char *fnam; if (!direntp) break; diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index 24ded6f3d..ae0286fdd 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -623,7 +623,7 @@ WRAP_API_1(bool, wait_on_daemonized_start, int) static bool am_single_threaded(void) { - struct dirent dirent, *direntp; + struct dirent *direntp; DIR *dir; int count=0; @@ -633,7 +633,7 @@ static bool am_single_threaded(void) return false; } - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { if (!direntp) break; @@ -2284,7 +2284,7 @@ out: static bool has_snapshots(struct lxc_container *c) { char path[MAXPATHLEN]; - struct dirent dirent, *direntp; + struct dirent *direntp; int count=0; DIR *dir; @@ -2293,7 +2293,7 @@ static bool has_snapshots(struct lxc_container *c) dir = opendir(path); if (!dir) return false; - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { if (!direntp) break; @@ -3503,7 +3503,7 @@ static int do_lxcapi_snapshot_list(struct lxc_container *c, struct lxc_snapshot { char snappath[MAXPATHLEN], path2[MAXPATHLEN]; int count = 0, ret; - struct dirent dirent, *direntp; + struct dirent *direntp; struct lxc_snapshot *snaps =NULL, *nsnaps; DIR *dir; @@ -3520,7 +3520,7 @@ static int do_lxcapi_snapshot_list(struct lxc_container *c, struct lxc_snapshot return 0; } - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { if (!direntp) break; @@ -3666,7 +3666,7 @@ err: static bool remove_all_snapshots(const char *path) { DIR *dir; - struct dirent dirent, *direntp; + struct dirent *direntp; bool bret = true; dir = opendir(path); @@ -3674,7 +3674,7 @@ static bool remove_all_snapshots(const char *path) SYSERROR("opendir on snapshot path %s", path); return false; } - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { if (!direntp) break; if (!strcmp(direntp->d_name, ".")) @@ -4191,7 +4191,7 @@ int list_defined_containers(const char *lxcpath, char ***names, struct lxc_conta { DIR *dir; int i, cfound = 0, nfound = 0; - struct dirent dirent, *direntp; + struct dirent *direntp; struct lxc_container *c; if (!lxcpath) @@ -4208,7 +4208,7 @@ int list_defined_containers(const char *lxcpath, char ***names, struct lxc_conta if (names) *names = NULL; - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { if (!direntp) break; diff --git a/src/lxc/start.c b/src/lxc/start.c index 1ce9903ed..2411626de 100644 --- a/src/lxc/start.c +++ b/src/lxc/start.c @@ -209,7 +209,7 @@ static int match_fd(int fd) */ int lxc_check_inherited(struct lxc_conf *conf, bool closeall, int fd_to_ignore) { - struct dirent dirent, *direntp; + struct dirent *direntp; int fd, fddir; DIR *dir; @@ -225,7 +225,7 @@ restart: fddir = dirfd(dir); - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { if (!direntp) break; diff --git a/src/lxc/utils.c b/src/lxc/utils.c index 614add536..27362daa3 100644 --- a/src/lxc/utils.c +++ b/src/lxc/utils.c @@ -90,7 +90,7 @@ extern bool btrfs_try_remove_subvol(const char *path); static int _recursive_rmdir(char *dirname, dev_t pdev, const char *exclude, int level, bool onedev) { - struct dirent dirent, *direntp; + struct dirent *direntp; DIR *dir; int ret, failed=0; char pathname[MAXPATHLEN]; @@ -102,7 +102,7 @@ static int _recursive_rmdir(char *dirname, dev_t pdev, return -1; } - while (!readdir_r(dir, &dirent, &direntp)) { + while ((direntp = readdir(dir))) { struct stat mystat; int rc;