aboutsummaryrefslogtreecommitdiff
path: root/test-instr.c
diff options
context:
space:
mode:
Diffstat (limited to 'test-instr.c')
-rw-r--r--test-instr.c32
1 files changed, 22 insertions, 10 deletions
diff --git a/test-instr.c b/test-instr.c
index b2caa1fe..eda5189c 100644
--- a/test-instr.c
+++ b/test-instr.c
@@ -3,7 +3,7 @@
--------------------------------------------------------
Originally written by Michal Zalewski
Copyright 2014 Google Inc. All rights reserved.
- Copyright 2019-2022 AFLplusplus Project. All rights reserved.
+ Copyright 2019-2023 AFLplusplus Project. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at:
@@ -24,7 +24,7 @@
int main(int argc, char **argv) {
- int fd = 0;
+ int fd = 0, cnt;
char buff[8];
char *buf = buff;
@@ -32,7 +32,6 @@ int main(int argc, char **argv) {
if (argc == 2) {
buf = argv[1];
- printf("Input %s - ", buf);
} else {
@@ -47,23 +46,36 @@ int main(int argc, char **argv) {
}
- if (read(fd, buf, sizeof(buf)) < 1) {
+ if ((cnt = read(fd, buf, sizeof(buf) - 1)) < 1) {
printf("Hum?\n");
return 1;
}
+ buf[cnt] = 0;
+
}
+ if (getenv("AFL_DEBUG")) fprintf(stderr, "test-instr: %s\n", buf);
+
// we support three input cases (plus a 4th if stdin is used but there is no
// input)
- if (buf[0] == '0')
- printf("Looks like a zero to me!\n");
- else if (buf[0] == '1')
- printf("Pretty sure that is a one!\n");
- else
- printf("Neither one or zero? How quaint!\n");
+ switch (buf[0]) {
+
+ case '0':
+ printf("Looks like a zero to me!\n");
+ break;
+
+ case '1':
+ printf("Pretty sure that is a one!\n");
+ break;
+
+ default:
+ printf("Neither one or zero? How quaint!\n");
+ break;
+
+ }
return 0;