| Index: net/socket/fuzzed_socket.cc
|
| diff --git a/net/socket/fuzzed_socket.cc b/net/socket/fuzzed_socket.cc
|
| index d0b11cf68b7c60f6a98a374eaa17f16d384299fe..4fff97b9a8a5f2e9c3c1d7d2ea223d0374acee7f 100644
|
| --- a/net/socket/fuzzed_socket.cc
|
| +++ b/net/socket/fuzzed_socket.cc
|
| @@ -58,19 +58,14 @@ int FuzzedSocket::Read(IOBuffer* buf,
|
| } else {
|
| // Otherwise, use |data_provider_|.
|
| sync = data_provider_->ConsumeBool();
|
| - result = data_provider_->ConsumeUint8();
|
| - if (result > buf_len)
|
| - result = buf_len;
|
| + std::string data = data_provider_->ConsumeRandomLengthString(buf_len);
|
| + result = data.size();
|
|
|
| if (result > 0) {
|
| - std::string data = data_provider_->ConsumeBytes(result);
|
| - result = data.size();
|
| std::copy(data.data(), data.data() + result, buf->data());
|
| - }
|
| -
|
| - if (result == 0) {
|
| - net_error_ = ConsumeReadWriteErrorFromData();
|
| - result = net_error_;
|
| + } else {
|
| + result = ConsumeReadWriteErrorFromData();
|
| + net_error_ = result;
|
| if (!sync)
|
| error_pending_ = true;
|
| }
|
| @@ -279,6 +274,7 @@ void FuzzedSocket::OnConnectComplete(const CompletionCallback& callback,
|
| connect_pending_ = false;
|
| if (result < 0)
|
| error_pending_ = false;
|
| + net_error_ = result;
|
| callback.Run(result);
|
| }
|
|
|
|
|