aboutsummaryrefslogtreecommitdiff
path: root/custom_mutators/symcc/test_examples
diff options
context:
space:
mode:
Diffstat (limited to 'custom_mutators/symcc/test_examples')
-rw-r--r--custom_mutators/symcc/test_examples/file_test.c36
-rw-r--r--custom_mutators/symcc/test_examples/stdin_test.c28
2 files changed, 64 insertions, 0 deletions
diff --git a/custom_mutators/symcc/test_examples/file_test.c b/custom_mutators/symcc/test_examples/file_test.c
new file mode 100644
index 00000000..f2b92986
--- /dev/null
+++ b/custom_mutators/symcc/test_examples/file_test.c
@@ -0,0 +1,36 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+int main(int argc, char **argv) {
+
+ if (argc < 2) {
+
+ printf("Need a file argument\n");
+ return 1;
+
+ }
+
+ int fd = open(argv[1], O_RDONLY);
+ if (fd < 0) {
+
+ printf("Couldn't open file\n");
+ return 1;
+
+ }
+
+ uint32_t value = 0;
+
+ read(fd, &value, sizeof(value));
+ close(fd);
+
+ value = value ^ 0xffffffff;
+ if (value == 0x11223344) printf("Value one\n");
+ if (value == 0x44332211) printf("Value two\n");
+ if (value != 0x0) printf("Not zero\n");
+ return 0;
+
+}
+
diff --git a/custom_mutators/symcc/test_examples/stdin_test.c b/custom_mutators/symcc/test_examples/stdin_test.c
new file mode 100644
index 00000000..3acfc523
--- /dev/null
+++ b/custom_mutators/symcc/test_examples/stdin_test.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int main(int argc, char **argv) {
+
+ char input_buffer[16];
+ uint32_t comparisonValue;
+ size_t bytesRead;
+ bytesRead = read(STDIN_FILENO, input_buffer, sizeof(input_buffer));
+ if (bytesRead < 0) exit(-1);
+ comparisonValue = *(uint32_t *)input_buffer;
+ comparisonValue = comparisonValue ^ 0xff112233;
+ if (comparisonValue == 0x66554493) {
+
+ printf("First value\n");
+
+ } else {
+
+ if (comparisonValue == 0x84444415) printf("Second value\n");
+
+ }
+
+ return 0;
+
+}
+