diff options
author | Rikard Falkeborn <rikard.falkeborn@gmail.com> | 2016-09-17 17:13:51 +0200 |
---|---|---|
committer | Andrew Gregory <andrew.gregory.8@gmail.com> | 2017-05-08 23:27:43 -0400 |
commit | 22cadea56aa4a991db5c97bc81b7ed60702269aa (patch) | |
tree | a4965cbd2840e4123a24f9ae2c349c41cce9bc23 /lib/libalpm | |
parent | eca2e0f5edb5bee464c7173834c5a5972919d041 (diff) | |
download | pacman-22cadea56aa4a991db5c97bc81b7ed60702269aa.tar.xz |
Fix gcc strict-overflow error
Recent gcc (tested with 6.2.1) produces the following error when
compiling with both --enable-warningflags and --enable-debug.
In particular, it seems it is the combination of GCC_STACK_PROTECT_LIB
and -Wstrict-overflow=5 produces the error.
be_local.c:609:4: error: assuming signed overflow does not occur
when simplifying conditional
[-Werror=strict-overflow]
if(count > 0) {
Fix this by changing the type of count from int to size_t, which is
fine since count is never negative.
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
(cherry picked from commit 34f3f1e7a640488c4c32a3a825813afc1ad2ed68)
Diffstat (limited to 'lib/libalpm')
-rw-r--r-- | lib/libalpm/be_local.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c index cc2d8bad..3ef1975e 100644 --- a/lib/libalpm/be_local.c +++ b/lib/libalpm/be_local.c @@ -501,7 +501,7 @@ version_error: static int local_db_populate(alpm_db_t *db) { size_t est_count; - int count = 0; + size_t count = 0; struct stat buf; struct dirent *ent = NULL; const char *dbpath; @@ -607,9 +607,9 @@ static int local_db_populate(alpm_db_t *db) closedir(dbdir); if(count > 0) { - db->pkgcache->list = alpm_list_msort(db->pkgcache->list, (size_t)count, _alpm_pkg_cmp); + db->pkgcache->list = alpm_list_msort(db->pkgcache->list, count, _alpm_pkg_cmp); } - _alpm_log(db->handle, ALPM_LOG_DEBUG, "added %d packages to package cache for db '%s'\n", + _alpm_log(db->handle, ALPM_LOG_DEBUG, "added %zu packages to package cache for db '%s'\n", count, db->treename); return count; |