blob: 0a3688285209af37bd7bab47f4f55360891efbeb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#! /bin/sh -e
PATCHELF="../src/patchelf"
SONAME="phdr-corruption.so"
SCRATCH="scratch/$(basename $0 .sh)"
SCRATCH_SO="${SCRATCH}/${SONAME}"
rm -rf "${SCRATCH}"
mkdir -p "${SCRATCH}"
cp "${SONAME}" "${SCRATCH}"
"${PATCHELF}" --set-rpath "$(pwd)" "${SCRATCH_SO}"
# Check for PT_PHDR entry VirtAddr corruption
readelfData=$(readelf -l "${SCRATCH_SO}" 2>&1)
if [ $(echo "$readelfData" | grep --count "PHDR") != 1 ]; then
# Triggered if PHDR errors appear on stderr
echo "ERROR: Unexpected number of occurences of PHDR in readelf results!"
exit 1
fi
|