summaryrefslogtreecommitdiff
path: root/chromium/net/server/http_server_fuzzer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/server/http_server_fuzzer.cc')
-rw-r--r--chromium/net/server/http_server_fuzzer.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/chromium/net/server/http_server_fuzzer.cc b/chromium/net/server/http_server_fuzzer.cc
index 3bee3faf090..2f16f03f614 100644
--- a/chromium/net/server/http_server_fuzzer.cc
+++ b/chromium/net/server/http_server_fuzzer.cc
@@ -18,10 +18,10 @@ namespace {
class WaitTillHttpCloseDelegate : public net::HttpServer::Delegate {
public:
WaitTillHttpCloseDelegate(FuzzedDataProvider* data_provider,
- const base::Closure& done_closure)
+ base::OnceClosure done_closure)
: server_(nullptr),
data_provider_(data_provider),
- done_closure_(done_closure),
+ done_closure_(std::move(done_closure)),
action_flags_(data_provider_->ConsumeIntegral<uint8_t>()) {}
void set_server(net::HttpServer* server) { server_ = server; }
@@ -70,7 +70,11 @@ class WaitTillHttpCloseDelegate : public net::HttpServer::Delegate {
}
}
- void OnClose(int connection_id) override { done_closure_.Run(); }
+ void OnClose(int connection_id) override {
+ // In general, OnClose can be called more than once, but FuzzedServerSocket
+ // only makes one connection, and it is the only socket of interest here.
+ std::move(done_closure_).Run();
+ }
private:
enum {
@@ -83,7 +87,7 @@ class WaitTillHttpCloseDelegate : public net::HttpServer::Delegate {
net::HttpServer* server_;
FuzzedDataProvider* const data_provider_;
- base::Closure done_closure_;
+ base::OnceClosure done_closure_;
const uint8_t action_flags_;
DISALLOW_COPY_AND_ASSIGN(WaitTillHttpCloseDelegate);