summaryrefslogtreecommitdiffstats
path: root/src/elflint.c
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2015-05-06 13:09:23 +0200
committerMark Wielaard <[email protected]>2015-05-12 16:45:51 +0200
commit16e2ac344788f2bb08ae9dc0a20948f554ca560c (patch)
tree5b051e651f0d76b2390f76f2cdd26d966b87b78e /src/elflint.c
parentdedb5e738826b51f12e0a216fad6be3b60668995 (diff)
elflint: Stop checking section when 2nd hash function shift too big.
Nothing good comes from trying to continue with a bogus hash function. https://bugzilla.redhat.com/show_bug.cgi?id=1170810#c31
Diffstat (limited to 'src/elflint.c')
-rw-r--r--src/elflint.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/elflint.c b/src/elflint.c
index a6f9b688..3abda718 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -2115,9 +2115,12 @@ section [%2d] '%s': hash table section is too small (is %ld, expected at least %
}
if (shift > 31)
- ERROR (gettext ("\
+ {
+ ERROR (gettext ("\
section [%2d] '%s': 2nd hash function shift too big: %u\n"),
- idx, section_name (ebl, idx), shift);
+ idx, section_name (ebl, idx), shift);
+ return;
+ }
size_t maxidx = shdr->sh_size / sizeof (Elf32_Word) - (4 + bitmask_words
+ nbuckets);