[pacman-dev] [PATCH] sync_cleandb: ensure stat call succeeds

Allan McRae allan at archlinux.org
Tue Feb 24 15:06:04 UTC 2015


Signed-off-by: Allan McRae <allan at archlinux.org>
---
 src/pacman/sync.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 91eca7e..0c3151e 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -94,7 +94,10 @@ static int sync_cleandb(const char *dbpath, int keep_used)
 		snprintf(path, PATH_MAX, "%s%s", dbpath, dname);
 
 		/* remove all non-skipped directories and non-database files */
-		stat(path, &buf);
+		if(stat(path, &buf) == -1) {
+			pm_printf(ALPM_LOG_ERROR, _("could not remove %s: %s\n"),
+					path, strerror(errno));
+		}
 		if(S_ISDIR(buf.st_mode)) {
 			if(rmrf(path)) {
 				pm_printf(ALPM_LOG_ERROR, _("could not remove %s: %s\n"),
-- 
2.3.0


More information about the pacman-dev mailing list