mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-17 20:28:08 +00:00
fix timeout bug in read_s32_timed on non linux OSes
This commit is contained in:
@ -140,7 +140,7 @@ read_s32_timed(s32 fd, s32 *buf, u32 timeout_ms, volatile u8 *stop_soon_p) {
|
|||||||
timeout.tv_sec = (timeout_ms / 1000);
|
timeout.tv_sec = (timeout_ms / 1000);
|
||||||
timeout.tv_usec = (timeout_ms % 1000) * 1000;
|
timeout.tv_usec = (timeout_ms % 1000) * 1000;
|
||||||
#if !defined(__linux__)
|
#if !defined(__linux__)
|
||||||
u64 read_start = get_cur_time_us();
|
u32 read_start = get_cur_time_us();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* set exceptfds as well to return when a child exited/closed the pipe. */
|
/* set exceptfds as well to return when a child exited/closed the pipe. */
|
||||||
@ -166,7 +166,7 @@ restart_select:
|
|||||||
timeout_ms,
|
timeout_ms,
|
||||||
((u64)timeout_ms - (timeout.tv_sec * 1000 + timeout.tv_usec / 1000)));
|
((u64)timeout_ms - (timeout.tv_sec * 1000 + timeout.tv_usec / 1000)));
|
||||||
#else
|
#else
|
||||||
u32 exec_ms = MIN(timeout_ms, get_cur_time_us() - read_start);
|
u32 exec_ms = MIN(timeout_ms, (get_cur_time_us() - read_start) / 1000);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ensure to report 1 ms has passed (0 is an error)
|
// ensure to report 1 ms has passed (0 is an error)
|
||||||
|
Reference in New Issue
Block a user