diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-04-18 17:09:59 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-04-19 10:26:57 +0200 |
| commit | 91db3ed8ce2dc73444bcd649f8003cbe96fcb227 (patch) | |
| tree | 08013bd813d8f038060db3cef25fa02eb7eb53e5 /executor/executor.cc | |
| parent | 273e386b718deddf0859d1ed99e2699a9d3e2e5d (diff) | |
prog: add ignore_return and breaks_returns call attribtues
We had these hard-coded for fuchsia and linux accordingly.
Replace with call attributes.
Diffstat (limited to 'executor/executor.cc')
| -rw-r--r-- | executor/executor.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/executor/executor.cc b/executor/executor.cc index 64d84c394..4e6a37055 100644 --- a/executor/executor.cc +++ b/executor/executor.cc @@ -1078,6 +1078,10 @@ void execute_call(thread_t* th) th->reserrno = errno; if (th->res == -1 && th->reserrno == 0) th->reserrno = EINVAL; // our syz syscalls may misbehave + if (call->attrs.ignore_return) { + th->res = 0; + th->reserrno = 0; + } if (flag_coverage) { cover_collect(&th->cov); if (th->cov.size >= kCoverSize) |
