about summary refs log tree commit diff
path: root/elf/cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/cache.c')
-rw-r--r--elf/cache.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/elf/cache.c b/elf/cache.c
index 67874b3c9e..4f72f10491 100644
--- a/elf/cache.c
+++ b/elf/cache.c
@@ -475,7 +475,7 @@ add_to_cache (const char *path, const char *lib, int flags,
   new_entry->bits_hwcap = 0;
 
   /* Count the number of bits set in the masked value.  */
-  for (i = 0; (~((1ULL << i) - 1) & hwcap) != 0; ++i)
+  for (i = 0; (~((1ULL << i) - 1) & hwcap) != 0 && i < 8 * sizeof (hwcap); ++i)
     if ((hwcap & (1ULL << i)) != 0)
       ++new_entry->bits_hwcap;