mirror of
https://github.com/ton-blockchain/ton
synced 2025-02-14 20:22:19 +00:00
Merge pull request #414 from SpyCheese/fix-ub
Fix undefined behavior for exotic endianness
This commit is contained in:
commit
e916363d5a
2 changed files with 4 additions and 20 deletions
|
@ -253,25 +253,9 @@ class ServerSocketFdImpl {
|
||||||
}
|
}
|
||||||
|
|
||||||
auto error = Status::PosixError(accept_errno, PSLICE() << "Accept from " << get_native_fd() << " has failed");
|
auto error = Status::PosixError(accept_errno, PSLICE() << "Accept from " << get_native_fd() << " has failed");
|
||||||
switch (accept_errno) {
|
get_poll_info().clear_flags(PollFlags::Read());
|
||||||
case EBADF:
|
get_poll_info().add_flags(PollFlags::Close());
|
||||||
case EFAULT:
|
return std::move(error);
|
||||||
case EINVAL:
|
|
||||||
case ENOTSOCK:
|
|
||||||
case EOPNOTSUPP:
|
|
||||||
LOG(FATAL) << error;
|
|
||||||
UNREACHABLE();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
LOG(ERROR) << error;
|
|
||||||
// fallthrough
|
|
||||||
case EMFILE:
|
|
||||||
case ENFILE:
|
|
||||||
case ECONNABORTED: //???
|
|
||||||
get_poll_info().clear_flags(PollFlags::Read());
|
|
||||||
get_poll_info().add_flags(PollFlags::Close());
|
|
||||||
return std::move(error);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Status get_pending_error() {
|
Status get_pending_error() {
|
||||||
|
|
2
third-party/crc32c
vendored
2
third-party/crc32c
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit fd33bccdf4824716df2552f7addd735264f77872
|
Subproject commit 02e65f4fd3065d27b2e29324800ca6d04df16126
|
Loading…
Reference in a new issue