about summary refs log tree commit diff
path: root/utils/argv_fuzzing/argv_fuzz_demo.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2022-12-28 17:54:32 +0100
committerGitHub <noreply@github.com>2022-12-28 17:54:32 +0100
commit31d4dc8a3879c53521563bd839b138978f5487af (patch)
tree0cef149d27efdaf48a320a7f0ab452912c27fa80 /utils/argv_fuzzing/argv_fuzz_demo.c
parente847b9948daba83257a665d936d83cfd9004e2ae (diff)
parent8817da8ae4038b0a155fde9e1f3ea8d4f7d8c107 (diff)
downloadafl++-31d4dc8a3879c53521563bd839b138978f5487af.tar.gz
Merge pull request #1607 from ahpaleus/argv-persistent-fuzzing
Argv_fuzz feature persistent fuzzing + cleanup
Diffstat (limited to 'utils/argv_fuzzing/argv_fuzz_demo.c')
-rw-r--r--utils/argv_fuzzing/argv_fuzz_demo.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/utils/argv_fuzzing/argv_fuzz_demo.c b/utils/argv_fuzzing/argv_fuzz_demo.c
new file mode 100644
index 00000000..6ab1e2e5
--- /dev/null
+++ b/utils/argv_fuzzing/argv_fuzz_demo.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <string.h>
+#include "argv-fuzz-inl.h"
+
+int main(int argc, char **argv) {
+
+  // Initialize the argv array for use with the AFL (American Fuzzy Lop) tool
+  AFL_INIT_ARGV();
+
+  /* Check the number of command line arguments and
+    compare the values of the first two arguments to specific strings.
+    If the number of arguments is not correct or the values do not match,
+    an error message is printed. If the values do match, the program
+    calls the abort() function. */
+  if (argc > 1 && strcmp(argv[1], "XYZ") == 0) {
+
+    if (strcmp(argv[2], "TEST2") == 0) { abort(); }
+
+  } else {
+
+    printf("Bad number of arguments!\n");
+
+  }
+
+  return 0;
+
+}
+