[hackers] [sbase] [PATCH 1/5] Remove st != NULL checks from recursor functions

From: Michael Forney <mforney_AT_mforney.org>
Date: Wed, 14 Dec 2016 19:40:02 -0800

In the description of 3111908b034c73673a2f079b2b13a88c18379baa, it says
that the functions must be able to handle st being NULL, but recurse
always passes a valid pointer. The only function that was ever passed
NULL was rm(), but this was changed to go through recurse in
2f4ab527391135e651b256f8654b050ea4a48f3d, so now the checks are
pointless.
---
 chgrp.c      | 4 ++--
 chmod.c      | 4 ++--
 chown.c      | 2 +-
 du.c         | 6 +++---
 libutil/rm.c | 2 +-
 tar.c        | 2 +-
 6 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/chgrp.c b/chgrp.c
index 299238b..5d3a71b 100644
--- a/chgrp.c
+++ b/chgrp.c
_AT_@ -26,10 +26,10 @@ chgrp(const char *path, struct stat *st, void *data, struct recursor *r)
 		chownf = chown;
 	}
 
-	if (st && chownf(path, st->st_uid, gid) < 0) {
+	if (chownf(path, st->st_uid, gid) < 0) {
 		weprintf("%s %s:", chownf_name, path);
 		ret = 1;
-	} else if (st && S_ISDIR(st->st_mode)) {
+	} else if (S_ISDIR(st->st_mode)) {
 		recurse(path, NULL, r);
 	}
 }
diff --git a/chmod.c b/chmod.c
index a0d96f1..109a7e5 100644
--- a/chmod.c
+++ b/chmod.c
_AT_@ -13,11 +13,11 @@ chmodr(const char *path, struct stat *st, void *data, struct recursor *r)
 {
 	mode_t m;
 
-	m = parsemode(modestr, st ? st->st_mode : 0, mask);
+	m = parsemode(modestr, st->st_mode, mask);
 	if (chmod(path, m) < 0) {
 		weprintf("chmod %s:", path);
 		ret = 1;
-	} else if (st && S_ISDIR(st->st_mode)) {
+	} else if (S_ISDIR(st->st_mode)) {
 		recurse(path, NULL, r);
 	}
 }
diff --git a/chown.c b/chown.c
index 2009507..d7dc8e0 100644
--- a/chown.c
+++ b/chown.c
_AT_@ -32,7 +32,7 @@ chownpwgr(const char *path, struct stat *st, void *data, struct recursor *r)
 	if (chownf(path, uid, gid) < 0) {
 		weprintf("%s %s:", chownf_name, path);
 		ret = 1;
-	} else if (st && S_ISDIR(st->st_mode)) {
+	} else if (S_ISDIR(st->st_mode)) {
 		recurse(path, NULL, r);
 	}
 }
diff --git a/du.c b/du.c
index 3dc3545..fb2c90b 100644
--- a/du.c
+++ b/du.c
_AT_@ -39,11 +39,11 @@ du(const char *path, struct stat *st, void *total, struct recursor *r)
 {
 	off_t subtotal = 0;
 
-	if (st && S_ISDIR(st->st_mode))
+	if (S_ISDIR(st->st_mode))
 		recurse(path, &subtotal, r);
-	*((off_t *)total) += subtotal + nblks(st ? st->st_blocks : 0);
+	*((off_t *)total) += subtotal + nblks(st->st_blocks);
 
-	if (!sflag && r->depth <= maxdepth && r->depth && st && (S_ISDIR(st->st_mode) || aflag))
+	if (!sflag && r->depth <= maxdepth && r->depth && (S_ISDIR(st->st_mode) || aflag))
 		printpath(subtotal + nblks(st->st_blocks), path);
 }
 
diff --git a/libutil/rm.c b/libutil/rm.c
index f6a54b6..11c20fb 100644
--- a/libutil/rm.c
+++ b/libutil/rm.c
_AT_@ -13,7 +13,7 @@ int rm_status = 0;
 void
 rm(const char *path, struct stat *st, void *data, struct recursor *r)
 {
-	if (!r->maxdepth && st && S_ISDIR(st->st_mode)) {
+	if (!r->maxdepth && S_ISDIR(st->st_mode)) {
 		recurse(path, NULL, r);
 
 		if (rmdir(path) < 0) {
diff --git a/tar.c b/tar.c
index 71719b0..d2161d4 100644
--- a/tar.c
+++ b/tar.c
_AT_@ -370,7 +370,7 @@ c(const char *path, struct stat *st, void *data, struct recursor *r)
 	if (vflag)
 		puts(path);
 
-	if (st && S_ISDIR(st->st_mode))
+	if (S_ISDIR(st->st_mode))
 		recurse(path, NULL, r);
 }
 
-- 
2.11.0
Received on Thu Dec 15 2016 - 04:40:02 CET

This archive was generated by hypermail 2.3.0 : Thu Dec 15 2016 - 04:48:18 CET