summaryrefslogtreecommitdiff
path: root/scripts/Dpkg
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2017-02-12 01:31:25 +0100
committerGuillem Jover <guillem@debian.org>2017-02-26 23:39:49 +0100
commit952326db379555e0f3241806a40e12cda3d8a205 (patch)
treebd1558dc333efa15729f90864a0cbebd3a1831ba /scripts/Dpkg
parent0fad19f2a3014b487d8c6dbcf70feac03ff0b693 (diff)
downloaddpkg-952326db379555e0f3241806a40e12cda3d8a205.tar.gz
Dpkg::Shlibs::Objdump: Do not parse bogus ELF binaries in get_format()
If the ELF class or endianness are unknown or bogus, ignore the file. Reported-by: Niels Thykier <niels@thykier.net>
Diffstat (limited to 'scripts/Dpkg')
-rw-r--r--scripts/Dpkg/Shlibs/Objdump.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/Dpkg/Shlibs/Objdump.pm b/scripts/Dpkg/Shlibs/Objdump.pm
index 7eaac2e40..91cc06488 100644
--- a/scripts/Dpkg/Shlibs/Objdump.pm
+++ b/scripts/Dpkg/Shlibs/Objdump.pm
@@ -201,14 +201,14 @@ sub get_format {
$elf_word = 'L';
} elsif ($elf{bits} == ELF_BITS_64) {
$elf_word = 'Q';
- } elsif ($elf{bits} == ELF_BITS_NONE) {
+ } else {
return;
}
if ($elf{endian} == ELF_ORDER_2LSB) {
$elf_endian = '<';
} elsif ($elf{endian} == ELF_ORDER_2MSB) {
$elf_endian = '>';
- } elsif ($elf{endian} == ELF_ORDER_NONE) {
+ } else {
return;
}