mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-14 19:08:08 +00:00
work with spaces in filenames
This commit is contained in:
@ -459,6 +459,24 @@ void bind_to_free_cpu(afl_state_t *afl) {
|
||||
|
||||
#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. */
|
||||
|
||||
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) {
|
||||
|
||||
s32 i = link(old_path, new_path);
|
||||
if (!i) { return; }
|
||||
|
||||
s32 sfd, dfd;
|
||||
u8 *tmp;
|
||||
|
||||
if (!i) { return; }
|
||||
|
||||
sfd = open(old_path, O_RDONLY);
|
||||
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->file_extension ? (const char *)afl->file_extension : "");
|
||||
|
||||
u8 *pos = strrchr(nfn, '/');
|
||||
no_spaces(pos + 30);
|
||||
|
||||
#else
|
||||
|
||||
nfn = alloc_printf(
|
||||
|
Reference in New Issue
Block a user