[pacman-dev] [PATCH] Fix compiler warnings with gcc-9.1

Allan McRae allan at archlinux.org
Thu Jun 20 06:50:22 UTC 2019


Signed-off-by: Allan McRae <allan at archlinux.org>
---

I think these are all legimite ways of fixing the warings...

callback.c:
filenamelen >= 50-33, so i is always positive. No need for that check

pacman.c:
this is the same condition, it just changes the compiler optimisation
of the loop to avoid the warning

query.c:
this gave a dumb warning... it is also the only place in the codebase
we used strncpy vs strcpy.


 src/pacman/callback.c | 2 +-
 src/pacman/pacman.c   | 2 +-
 src/pacman/query.c    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 22865614..aa5f521e 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -804,7 +804,7 @@ void cb_dl_progress(const char *filename, off_t file_xfered, off_t file_total)
 		int i = filenamelen - 3;
 		wchar_t *wcp = wcfname;
 		/* grab the max number of char columns we can fill */
-		while(i > 0 && wcwidth(*wcp) < i) {
+		while(wcwidth(*wcp) < i) {
 			i -= wcwidth(*wcp);
 			wcp++;
 		}
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index 93fb98a4..b7406cea 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -1079,7 +1079,7 @@ static void cl_to_log(int argc, char *argv[])
 		return;
 	}
 	char *p = cl_text;
-	for(i = 0; i < argc - 1; i++) {
+	for(i = 0; i + 1 < argc; i++) {
 		strcpy(p, argv[i]);
 		p += strlen(argv[i]);
 		*p++ = ' ';
diff --git a/src/pacman/query.c b/src/pacman/query.c
index 3e728257..de82553c 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -189,7 +189,7 @@ static int query_fileowner(alpm_list_t *targets)
 
 		if(!lrealpath(filename, rpath)) {
 			/* Can't canonicalize path, try to proceed anyway */
-			strncpy(rpath, filename, PATH_MAX);
+			strcpy(rpath, filename);
 		}
 
 		if(strncmp(rpath, root, rootlen) != 0) {
-- 
2.22.0


More information about the pacman-dev mailing list