]> piware.de Git - bin.git/blob - deb-checkssp
21fe6c158e811b456f4b77f06621024339b499e9
[bin.git] / deb-checkssp
1 #!/bin/sh -e
2
3 # check given debs for SSP and print out the deb and filename of non-SSP ELF
4 # files
5
6 D=`mktemp -d`
7 trap "rm -rf $D" 0 1 2 3 11 13 15
8
9 for i; do
10     rm -rf D/*
11
12     dpkg-deb -x "$i" "$D"
13     find "$D" -type f | while read f; do
14         # ignore non-ELF files
15         readelf -h "$f" > /dev/null 2>&1 || continue
16         nm -D "$f" | grep -q __stack_chk_fail || {
17             echo "$i: ${f#$D} not built with SSP"
18         }
19     done
20 done