aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhexcoder- <heiko@hexco.de>2020-12-05 09:48:55 +0100
committerhexcoder- <heiko@hexco.de>2020-12-05 09:48:55 +0100
commit8f79116a15e53f0ecd4889ebf8980cc0cd85a494 (patch)
tree48762cd29e5680a8e25bb66b6324fd6ff6e047a4
parentf8c33f29e8cf7de30604be2c6818dd8d2d0ad3a6 (diff)
downloadafl++-8f79116a15e53f0ecd4889ebf8980cc0cd85a494.tar.gz
fix find_object proc search (#elsif -> #elif), optimize static if away
-rw-r--r--src/afl-cc.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/afl-cc.c b/src/afl-cc.c
index fcc10122..1cd53f98 100644
--- a/src/afl-cc.c
+++ b/src/afl-cc.c
@@ -189,14 +189,25 @@ static u8 *find_object(u8 *obj, u8 *argv0) {
ck_free(tmp);
ck_free(dir);
- } else {
+ }
+
+#if \
+ defined(__FreeBSD__) \
+|| defined(__DragonFly__) \
+|| defined(__linux__) \
+|| defined(__ANDROID__) \
+|| defined(__NetBSD__)
+#define HAS_PROC_FS 1
+#endif
+#ifdef HAS_PROC_FS
+ else {
char *procname = NULL;
#if defined(__FreeBSD__) || defined(__DragonFly__)
procname = "/proc/curproc/file";
- #elsif defined(__linux__) || defined(__ANDROID__)
+ #elif defined(__linux__) || defined(__ANDROID__)
procname = "/proc/self/exe";
- #elsif defined(__NetBSD__)
+ #elif defined(__NetBSD__)
procname = "/proc/curproc/exe";
#endif
if (procname) {
@@ -239,6 +250,8 @@ static u8 *find_object(u8 *obj, u8 *argv0) {
}
}
+#endif
+#undef HAS_PROC_FS
}