mirror of
https://github.com/NixOS/patchelf.git
synced 2025-10-17 15:41:35 +08:00
Merge remote-tracking branch 'upstream/0.15-maintenance' into 0.15-maintenance
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#! /bin/sh -u
|
||||
#! /bin/sh -ue
|
||||
|
||||
# Usage: killed_by_signal $?
|
||||
#
|
||||
@@ -18,6 +18,24 @@ TEST_DIR=$(dirname "$(readlink -f "$0")")/invalid-elf
|
||||
TEST_CASES="invalid-shrstrtab-idx invalid-shrstrtab-size invalid-shrstrtab-zero
|
||||
invalid-shrstrtab-nonterm invalid-shdr-name invalid-phdr-offset"
|
||||
|
||||
# Issue #64 regression test. Test ELF provided by issue submitter.
|
||||
TEST_CASES=$TEST_CASES' invalid-phdr-issue-64'
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
invalid_shrstrtab_idx_MSG='data region extends past file end'
|
||||
# shellcheck disable=SC2034
|
||||
invalid_shrstrtab_size_MSG='data region extends past file end'
|
||||
# shellcheck disable=SC2034
|
||||
invalid_shrstrtab_zero_MSG='data region extends past file end'
|
||||
# shellcheck disable=SC2034
|
||||
invalid_shrstrtab_nonterm_MSG='data region extends past file end'
|
||||
# shellcheck disable=SC2034
|
||||
invalid_shdr_name_MSG='data region extends past file end'
|
||||
# shellcheck disable=SC2034
|
||||
invalid_phdr_offset_MSG='data region extends past file end'
|
||||
# shellcheck disable=SC2034
|
||||
invalid_phdr_issue_64_MSG='program header table out of bounds'
|
||||
|
||||
FAILED_TESTS=""
|
||||
|
||||
for tcase in $TEST_CASES; do
|
||||
@@ -26,10 +44,16 @@ for tcase in $TEST_CASES; do
|
||||
exit 1
|
||||
fi
|
||||
|
||||
../src/patchelf --output /dev/null "$TEST_DIR/$tcase"
|
||||
if killed_by_signal $?; then
|
||||
../src/patchelf --output /dev/null "$TEST_DIR/$tcase" && res=$? || res=$?
|
||||
if killed_by_signal "$res"; then
|
||||
FAILED_TESTS="$FAILED_TESTS $tcase"
|
||||
fi
|
||||
|
||||
var=$(echo "$tcase-MSG" | tr '-' '_')
|
||||
msg=
|
||||
eval "msg=\${$var}"
|
||||
../src/patchelf --output /dev/null "$TEST_DIR/$tcase" 2>&1 |
|
||||
grep "$msg" >/dev/null 2>/dev/null
|
||||
done
|
||||
|
||||
if [ -z "$FAILED_TESTS" ]; then
|
||||
|
BIN
tests/invalid-elf/invalid-phdr-issue-64
Normal file
BIN
tests/invalid-elf/invalid-phdr-issue-64
Normal file
Binary file not shown.
Reference in New Issue
Block a user