| 175 | } |
| 176 | |
| 177 | int FuzzedSock::GetSockOpt(int level, int opt_name, void* opt_val, socklen_t* opt_len) const |
| 178 | { |
| 179 | constexpr std::array getsockopt_errnos{ |
| 180 | ENOMEM, |
| 181 | ENOBUFS, |
| 182 | }; |
| 183 | if (m_fuzzed_data_provider.ConsumeBool()) { |
| 184 | SetFuzzedErrNo(m_fuzzed_data_provider, getsockopt_errnos); |
| 185 | return -1; |
| 186 | } |
| 187 | if (opt_val == nullptr) { |
| 188 | return 0; |
| 189 | } |
| 190 | std::memcpy(opt_val, |
| 191 | ConsumeFixedLengthByteVector(m_fuzzed_data_provider, *opt_len).data(), |
| 192 | *opt_len); |
| 193 | return 0; |
| 194 | } |
| 195 | |
| 196 | bool FuzzedSock::Wait(std::chrono::milliseconds timeout, Event requested, Event* occurred) const |
| 197 | { |
nothing calls this directly
no test coverage detected