diff --git a/test/mocks/api/mocks.cc b/test/mocks/api/mocks.cc index c3eeed40d0c5c..6a396cd4e064c 100644 --- a/test/mocks/api/mocks.cc +++ b/test/mocks/api/mocks.cc @@ -60,14 +60,14 @@ MockOsSysCalls::~MockOsSysCalls() = default; SysCallIntResult MockOsSysCalls::setsockopt(os_fd_t sockfd, int level, int optname, const void* optval, socklen_t optlen) { - ASSERT(optlen == sizeof(int)); - // Allow mocking system call failure. if (setsockopt_(sockfd, level, optname, optval, optlen) != 0) { return SysCallIntResult{-1, 0}; } - boolsockopts_[SockOptKey(sockfd, level, optname)] = !!*reinterpret_cast(optval); + if (optlen >= sizeof(int)) { + boolsockopts_[SockOptKey(sockfd, level, optname)] = !!*reinterpret_cast(optval); + } return SysCallIntResult{0, 0}; };