mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-15 03:18:07 +00:00
work with spaces in filenames
This commit is contained in:
6
afl-cmin
6
afl-cmin
@ -13,7 +13,7 @@ awk -f - -- ${@+"$@"} <<'EOF'
|
|||||||
# awk script to minimize a test corpus of input files
|
# awk script to minimize a test corpus of input files
|
||||||
#
|
#
|
||||||
# based on afl-cmin bash script written by Michal Zalewski
|
# based on afl-cmin bash script written by Michal Zalewski
|
||||||
# rewritten by Heiko Eißfeldt (hexcoder-)
|
# rewritten by Heiko Eissfeldt (hexcoder-)
|
||||||
# tested with:
|
# tested with:
|
||||||
# gnu awk (x86 Linux)
|
# gnu awk (x86 Linux)
|
||||||
# bsd awk (x86 *BSD)
|
# bsd awk (x86 *BSD)
|
||||||
@ -603,8 +603,8 @@ BEGIN {
|
|||||||
# create path for the trace file from afl-showmap
|
# create path for the trace file from afl-showmap
|
||||||
tracefile_path = trace_dir"/"fn
|
tracefile_path = trace_dir"/"fn
|
||||||
# ensure the file size is not zero
|
# ensure the file size is not zero
|
||||||
cmd = "du -b "tracefile_path
|
cmd = "du -b \""tracefile_path"\""
|
||||||
"ls -l "tracefile_path
|
# "ls -l \""tracefile_path"\""
|
||||||
cmd | getline output
|
cmd | getline output
|
||||||
close(cmd)
|
close(cmd)
|
||||||
split(output, result, "\t")
|
split(output, result, "\t")
|
||||||
|
@ -152,6 +152,7 @@ Minimization settings:
|
|||||||
-e - solve for edge coverage only, ignore hit counts
|
-e - solve for edge coverage only, ignore hit counts
|
||||||
|
|
||||||
For additional tips, please consult README.md.
|
For additional tips, please consult README.md.
|
||||||
|
This script cannot read filenames that end with a space ' '.
|
||||||
|
|
||||||
Environment variables used:
|
Environment variables used:
|
||||||
AFL_KEEP_TRACES: leave the temporary <out_dir>\.traces directory
|
AFL_KEEP_TRACES: leave the temporary <out_dir>\.traces directory
|
||||||
|
@ -6,8 +6,11 @@
|
|||||||
### Version ++4.21a (dev)
|
### Version ++4.21a (dev)
|
||||||
* afl-fuzz
|
* afl-fuzz
|
||||||
- fix AFL_PERSISTENT_RECORD
|
- fix AFL_PERSISTENT_RECORD
|
||||||
|
- prevent filenames in the queue that have spaces
|
||||||
* afl-cc:
|
* afl-cc:
|
||||||
- fixes for LTO and outdated afl-gcc mode
|
- fixes for LTO and outdated afl-gcc mode
|
||||||
|
* afl-cmin
|
||||||
|
- work with input files that have a space
|
||||||
|
|
||||||
|
|
||||||
### Version ++4.20c (release)
|
### Version ++4.20c (release)
|
||||||
|
@ -459,6 +459,24 @@ void bind_to_free_cpu(afl_state_t *afl) {
|
|||||||
|
|
||||||
#endif /* HAVE_AFFINITY */
|
#endif /* HAVE_AFFINITY */
|
||||||
|
|
||||||
|
/* transforms spaces in a string to underscores (inplace) */
|
||||||
|
|
||||||
|
static void no_spaces(u8 *string) {
|
||||||
|
|
||||||
|
if (string) {
|
||||||
|
|
||||||
|
u8 *ptr = string;
|
||||||
|
while (*ptr != 0) {
|
||||||
|
|
||||||
|
if (*ptr == ' ') { *ptr = '_'; }
|
||||||
|
++ptr;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/* Shuffle an array of pointers. Might be slightly biased. */
|
/* Shuffle an array of pointers. Might be slightly biased. */
|
||||||
|
|
||||||
static void shuffle_ptrs(afl_state_t *afl, void **ptrs, u32 cnt) {
|
static void shuffle_ptrs(afl_state_t *afl, void **ptrs, u32 cnt) {
|
||||||
@ -1381,11 +1399,11 @@ void perform_dry_run(afl_state_t *afl) {
|
|||||||
static void link_or_copy(u8 *old_path, u8 *new_path) {
|
static void link_or_copy(u8 *old_path, u8 *new_path) {
|
||||||
|
|
||||||
s32 i = link(old_path, new_path);
|
s32 i = link(old_path, new_path);
|
||||||
|
if (!i) { return; }
|
||||||
|
|
||||||
s32 sfd, dfd;
|
s32 sfd, dfd;
|
||||||
u8 *tmp;
|
u8 *tmp;
|
||||||
|
|
||||||
if (!i) { return; }
|
|
||||||
|
|
||||||
sfd = open(old_path, O_RDONLY);
|
sfd = open(old_path, O_RDONLY);
|
||||||
if (sfd < 0) { PFATAL("Unable to open '%s'", old_path); }
|
if (sfd < 0) { PFATAL("Unable to open '%s'", old_path); }
|
||||||
|
|
||||||
@ -1495,6 +1513,9 @@ void pivot_inputs(afl_state_t *afl) {
|
|||||||
afl->fsrv.total_execs, use_name, afl->file_extension ? "." : "",
|
afl->fsrv.total_execs, use_name, afl->file_extension ? "." : "",
|
||||||
afl->file_extension ? (const char *)afl->file_extension : "");
|
afl->file_extension ? (const char *)afl->file_extension : "");
|
||||||
|
|
||||||
|
u8 *pos = strrchr(nfn, '/');
|
||||||
|
no_spaces(pos + 30);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
nfn = alloc_printf(
|
nfn = alloc_printf(
|
||||||
|
Reference in New Issue
Block a user