Merge remote-tracking branch 'upstream/0.15-maintenance' into 0.15-maintenance

This commit is contained in:
John Ericson
2025-08-12 22:02:11 -04:00
2 changed files with 27 additions and 3 deletions

View File

@@ -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

Binary file not shown.