mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-13 18:48:08 +00:00
more portability for (solaris-based OpenIndiana)
This commit is contained in:
@ -925,6 +925,9 @@ int main(int argc, char** argv) {
|
||||
struct dirent* dir_ent;
|
||||
int done = 0;
|
||||
u8 infile[4096], outfile[4096];
|
||||
#if !defined(DT_REG)
|
||||
struct stat statbuf;
|
||||
#endif
|
||||
|
||||
dev_null_fd = open("/dev/null", O_RDWR);
|
||||
if (dev_null_fd < 0) PFATAL("Unable to open /dev/null");
|
||||
@ -970,9 +973,18 @@ int main(int argc, char** argv) {
|
||||
|
||||
if (dir_ent->d_name[0] == '.')
|
||||
continue; // skip anything that starts with '.'
|
||||
|
||||
#if defined(DT_REG) /* Posix and Solaris do not know d_type and DT_REG */
|
||||
if (dir_ent->d_type != DT_REG) continue; // only regular files
|
||||
#endif
|
||||
|
||||
snprintf(infile, sizeof(infile), "%s/%s", in_dir, dir_ent->d_name);
|
||||
|
||||
#if !defined(DT_REG) /* use stat() */
|
||||
if (-1 == stat(infile, &statbuf)
|
||||
|| !S_ISREG(statbuf.st_mode)) continue;
|
||||
#endif
|
||||
|
||||
snprintf(outfile, sizeof(outfile), "%s/%s", out_file, dir_ent->d_name);
|
||||
|
||||
if (read_file(infile)) {
|
||||
|
6
src/third_party/libradamsa/libradamsa.c
vendored
6
src/third_party/libradamsa/libradamsa.c
vendored
@ -2405,7 +2405,11 @@ static word prim_sys(word op, word a, word b, word c) {
|
||||
EOPNOTSUPP, EOVERFLOW, EOWNERDEAD, EPERM, EPIPE, EPROTO, EPROTONOSUPPORT, EPROTOTYPE,
|
||||
ERANGE, EROFS, ESPIPE, ESRCH, ESTALE, ETIME, ETIMEDOUT, ETXTBSY,
|
||||
EWOULDBLOCK, EXDEV, SEEK_SET, SEEK_CUR, SEEK_END, O_EXEC, O_RDONLY, O_RDWR,
|
||||
O_SEARCH, O_WRONLY, O_APPEND, O_CLOEXEC, O_CREAT, O_DIRECTORY, O_DSYNC, O_EXCL,
|
||||
O_SEARCH, O_WRONLY, O_APPEND, O_CLOEXEC, O_CREAT,
|
||||
#if defined O_DIRECTORY
|
||||
O_DIRECTORY,
|
||||
#endif
|
||||
O_DSYNC, O_EXCL,
|
||||
O_NOCTTY, O_NOFOLLOW, O_NONBLOCK, O_RSYNC, O_SYNC, O_TRUNC, O_TTY_INIT, O_ACCMODE,
|
||||
FD_CLOEXEC, F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_GETOWN,
|
||||
F_SETOWN, F_GETLK, F_SETLK, F_SETLKW, F_RDLCK, F_UNLCK, F_WRLCK, CLOCK_MONOTONIC,
|
||||
|
22
test/test.sh
22
test/test.sh
@ -1,18 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Ensure we have: test, type, diff -q, grep -aqE
|
||||
# Ensure we have: test, type, diff, grep -qE
|
||||
#
|
||||
test -z "" 2> /dev/null || { echo Error: test command not found ; exit 1 ; }
|
||||
GREP=`type grep > /dev/null 2>&1 && echo OK`
|
||||
test "$GREP" = OK || { echo Error: grep command not found ; exit 1 ; }
|
||||
echo foobar | grep -aqE 'asd|oob' 2> /dev/null || { echo Error: grep command does not support -q, -a and/or -E option ; exit 1 ; }
|
||||
echo foobar | grep -qE 'asd|oob' 2> /dev/null || { echo Error: grep command does not support -q and/or -E option ; exit 1 ; }
|
||||
echo 1 > test.1
|
||||
echo 1 > test.2
|
||||
OK=OK
|
||||
diff -q test.1 test.2 >/dev/null 2>&1 || OK=
|
||||
diff test.1 test.2 >/dev/null 2>&1 || OK=
|
||||
rm -f test.1 test.2
|
||||
test -z "$OK" && { echo Error: diff -q is not working ; exit 1 ; }
|
||||
test -z "$OK" && { echo Error: diff is not working ; exit 1 ; }
|
||||
test -z "$LLVM_CONFIG" && LLVM_CONFIG=llvm-config
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ $ECHO \\101 2>&1 | grep -qE '^A' || {
|
||||
ECHO=
|
||||
test -e /bin/printf && {
|
||||
ECHO="/bin/printf %b\\n"
|
||||
$ECHO '\\101' 2>&1 | grep -qE '^A' || ECHO=
|
||||
$ECHO "\\101" 2>&1 | grep -qE '^A' || ECHO=
|
||||
}
|
||||
}
|
||||
test -z "$ECHO" && { printf Error: printf command does not support octal character codes ; exit 1 ; }
|
||||
@ -84,7 +84,7 @@ test "$SYS" = "i686" -o "$SYS" = "x86_64" -o "$SYS" = "amd64" -o "$SYS" = "i86pc
|
||||
echo 0 | ../afl-showmap -m ${MEM_LIMIT} -o test-instr.plain.0 -r -- ./test-instr.plain > /dev/null 2>&1
|
||||
../afl-showmap -m ${MEM_LIMIT} -o test-instr.plain.1 -r -- ./test-instr.plain < /dev/null > /dev/null 2>&1
|
||||
test -e test-instr.plain.0 -a -e test-instr.plain.1 && {
|
||||
diff -q test-instr.plain.0 test-instr.plain.1 > /dev/null 2>&1 && {
|
||||
diff test-instr.plain.0 test-instr.plain.1 > /dev/null 2>&1 && {
|
||||
$ECHO "$RED[!] ${AFL_GCC} instrumentation should be different on different input but is not"
|
||||
CODE=1
|
||||
} || {
|
||||
@ -111,7 +111,7 @@ test "$SYS" = "i686" -o "$SYS" = "x86_64" -o "$SYS" = "amd64" -o "$SYS" = "i86pc
|
||||
CODE=1
|
||||
}
|
||||
test -e test-compcov.harden && {
|
||||
grep -Eqa 'stack_chk_fail|fstack-protector-all|fortified' test-compcov.harden > /dev/null 2>&1 && {
|
||||
grep -Eq 'stack_chk_fail|fstack-protector-all|fortified' test-compcov.harden > /dev/null 2>&1 && {
|
||||
$ECHO "$GREEN[+] ${AFL_GCC} hardened mode succeeded and is working"
|
||||
} || {
|
||||
$ECHO "$RED[!] ${AFL_GCC} hardened mode is not hardened"
|
||||
@ -203,7 +203,7 @@ test -e ../afl-clang-fast -a -e ../split-switches-pass.so && {
|
||||
echo 0 | ../afl-showmap -m ${MEM_LIMIT} -o test-instr.plain.0 -r -- ./test-instr.plain > /dev/null 2>&1
|
||||
../afl-showmap -m ${MEM_LIMIT} -o test-instr.plain.1 -r -- ./test-instr.plain < /dev/null > /dev/null 2>&1
|
||||
test -e test-instr.plain.0 -a -e test-instr.plain.1 && {
|
||||
diff -q test-instr.plain.0 test-instr.plain.1 > /dev/null 2>&1 && {
|
||||
diff test-instr.plain.0 test-instr.plain.1 > /dev/null 2>&1 && {
|
||||
$ECHO "$RED[!] llvm_mode instrumentation should be different on different input but is not"
|
||||
CODE=1
|
||||
} || {
|
||||
@ -226,7 +226,7 @@ test -e ../afl-clang-fast -a -e ../split-switches-pass.so && {
|
||||
CODE=1
|
||||
}
|
||||
test -e test-compcov.harden && {
|
||||
grep -Eqa 'stack_chk_fail|fstack-protector-all|fortified' test-compcov.harden > /dev/null 2>&1 && {
|
||||
grep -Eq 'stack_chk_fail|fstack-protector-all|fortified' test-compcov.harden > /dev/null 2>&1 && {
|
||||
$ECHO "$GREEN[+] llvm_mode hardened mode succeeded and is working"
|
||||
} || {
|
||||
$ECHO "$RED[!] llvm_mode hardened mode is not hardened"
|
||||
@ -366,7 +366,7 @@ test -e ../afl-gcc-fast -a -e ../afl-gcc-rt.o && {
|
||||
echo 0 | ../afl-showmap -m ${MEM_LIMIT} -o test-instr.plain.0 -r -- ./test-instr.plain.gccpi > /dev/null 2>&1
|
||||
../afl-showmap -m ${MEM_LIMIT} -o test-instr.plain.1 -r -- ./test-instr.plain.gccpi < /dev/null > /dev/null 2>&1
|
||||
test -e test-instr.plain.0 -a -e test-instr.plain.1 && {
|
||||
diff -q test-instr.plain.0 test-instr.plain.1 > /dev/null 2>&1 && {
|
||||
diff test-instr.plain.0 test-instr.plain.1 > /dev/null 2>&1 && {
|
||||
$ECHO "$RED[!] gcc_plugin instrumentation should be different on different input but is not"
|
||||
CODE=1
|
||||
} || {
|
||||
@ -391,7 +391,7 @@ test -e ../afl-gcc-fast -a -e ../afl-gcc-rt.o && {
|
||||
}
|
||||
|
||||
test -e test-compcov.harden.gccpi && {
|
||||
grep -Eqa 'stack_chk_fail|fstack-protector-all|fortified' test-compcov.harden.gccpi > /dev/null 2>&1 && {
|
||||
grep -Eq 'stack_chk_fail|fstack-protector-all|fortified' test-compcov.harden.gccpi > /dev/null 2>&1 && {
|
||||
$ECHO "$GREEN[+] gcc_plugin hardened mode succeeded and is working"
|
||||
} || {
|
||||
$ECHO "$RED[!] gcc_plugin hardened mode is not hardened"
|
||||
|
Reference in New Issue
Block a user