The use of main->program.parameters.arguments should no longer happen.
This is the old behavior and it looks like it has not been completely migrated.
This is wrong an can even have invalid read sizes.
if (parameter->result & f_console_result_value_e) {
const f_number_unsigned_t index = parameter->values.array[parameter->location];
+ // @fixme these should not be accessing main->program.parameters.arguments directly and should instead use setting flags.
if (f_path_is_absolute(main->program.parameters.arguments.array[index]) == F_true || f_path_is_relative_current(main->program.parameters.arguments.array[index]) == F_true) {
requireds[1] = F_none; // fake_long_data_s
}