From cc4b37f65c84543cfd3cb47fc08bdd6b2c5055c9 Mon Sep 17 00:00:00 2001 From: nekral-guest Date: Thu, 27 Dec 2007 23:30:36 +0000 Subject: [PATCH] Avoid assignment in comparisons. --- ChangeLog | 1 + libmisc/copydir.c | 15 ++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 59e5c210..e3737422 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ * libmisc/copydir.c: -1 is used to indicate an error, directly set err to -1, instead of incrementing it, and checking if not nul at the end. + * libmisc/copydir.c: Avoid assignment in comparisons. 2007-12-27 Nicolas François diff --git a/libmisc/copydir.c b/libmisc/copydir.c index d3e11e85..dbdf3e85 100644 --- a/libmisc/copydir.c +++ b/libmisc/copydir.c @@ -185,8 +185,8 @@ int copy_tree (const char *src_root, const char *dst_root, uid_t uid, gid_t gid) * regular files (and directories ...) are copied, and no file * is made set-ID. */ - - if (!(dir = opendir (src_root))) + dir = opendir (src_root); + if (NULL == dir) return -1; if (src_orig == 0) { @@ -431,14 +431,15 @@ static int copy_file (const char *src, const char *dst, char buf[1024]; int cnt; - if ((ifd = open (src, O_RDONLY)) < 0) { + ifd = open (src, O_RDONLY); + if (ifd < 0) { return -1; } #ifdef WITH_SELINUX selinux_file_context (dst); #endif - if ((ofd = - open (dst, O_WRONLY | O_CREAT | O_TRUNC, 0)) < 0 + ofd = open (dst, O_WRONLY | O_CREAT | O_TRUNC, 0); + if ((ofd < 0) || chown (dst, uid == (uid_t) - 1 ? statp->st_uid : uid, gid == (gid_t) - 1 ? statp->st_gid : gid) @@ -495,8 +496,8 @@ int remove_tree (const char *root) * regular files (and directories ...) are copied, and no file * is made set-ID. */ - - if (!(dir = opendir (root))) + dir = opendir (root); + if (NULL == dir) return -1; while ((ent = readdir (dir))) {