aboutsummaryrefslogtreecommitdiff
path: root/experimental/persistent_demo/persistent_demo.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2019-12-24 20:56:10 +0100
committervan Hauser <vh@thc.org>2019-12-24 20:56:10 +0100
commit67b6298895e8db0cc91c3bbd0bc29c48f8572c2e (patch)
treed3a398366b212ddfdac35b332c844c14dd3ba57a /experimental/persistent_demo/persistent_demo.c
parent3122790295489dee77ffc9993561807fe09be3b8 (diff)
downloadafl++-67b6298895e8db0cc91c3bbd0bc29c48f8572c2e.tar.gz
qemu ld_preload support and added socket_fuzzing ld_preload library
Diffstat (limited to 'experimental/persistent_demo/persistent_demo.c')
-rw-r--r--experimental/persistent_demo/persistent_demo.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/experimental/persistent_demo/persistent_demo.c b/experimental/persistent_demo/persistent_demo.c
index a94c8374..d8d59905 100644
--- a/experimental/persistent_demo/persistent_demo.c
+++ b/experimental/persistent_demo/persistent_demo.c
@@ -28,12 +28,11 @@
#include <signal.h>
#include <string.h>
-
/* Main entry point. */
int main(int argc, char** argv) {
- ssize_t len; /* how much input did we read? */
+ ssize_t len; /* how much input did we read? */
char buf[100]; /* Example-only buffer, you'd replace it with other global or
local variables appropriate for your use case. */
@@ -64,21 +63,28 @@ int main(int argc, char** argv) {
We just have some trivial inline code that faults on 'foo!'. */
/* do we have enough data? */
- if (len < 4)
- return 0;
+ if (len < 4) return 0;
if (buf[0] == 'f') {
+
printf("one\n");
if (buf[1] == 'o') {
+
printf("two\n");
if (buf[2] == 'o') {
+
printf("three\n");
if (buf[3] == '!') {
+
printf("four\n");
abort();
+
}
+
}
+
}
+
}
/*** END PLACEHOLDER CODE ***/
@@ -92,3 +98,4 @@ int main(int argc, char** argv) {
return 0;
}
+