Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Issue 1917503002: URLRequest fuzzer. (Closed)

Created:
4 years, 8 months ago by mmenke
Modified:
4 years, 7 months ago
CC:
cbentzel+watch_chromium.org, chromium-reviews, mmoroz, mattm
Base URL:
https://chromium.googlesource.com/chromium/src.git@fuzz
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

URLRequest fuzzer. This fuzzer covers much of the network stack, with everything wired up. Unfortunately, it does have a couple dependencies on the system it's running on (uses NTLM/Neogiate platform stores and current time, not sure what else). It covers so much code that it's unlikely to be able to catch everything, so most modules it should also be fuzzed independently. BUG=602440 Committed: https://crrev.com/c951d41c1a0df97a0b6a17379f8f7c11989aa80f Cr-Commit-Position: refs/heads/master@{#390440}

Patch Set 1 #

Patch Set 2 : Cleanups #

Patch Set 3 : Remove tab #

Total comments: 1

Patch Set 4 : Update other fuzzers (Lost them in a merge) #

Total comments: 55

Patch Set 5 : Response to comments #

Total comments: 2

Patch Set 6 : Response to comments #

Patch Set 7 : self review #

Total comments: 2

Patch Set 8 : merge #

Total comments: 15

Patch Set 9 : Response to comments #

Patch Set 10 : Minor cleanup #

Patch Set 11 : Remove unnecessary const #

Patch Set 12 : Add missing include #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+703 lines, -82 lines) Patch
M net/BUILD.gn View 1 2 3 4 5 6 7 2 chunks +17 lines, -0 lines 0 comments Download
A net/base/fuzzed_data_provider.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +54 lines, -0 lines 4 comments Download
A net/base/fuzzed_data_provider.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +67 lines, -0 lines 0 comments Download
M net/data/http/http.dict View 1 2 3 4 5 6 2 chunks +91 lines, -6 lines 0 comments Download
M net/http/http_proxy_client_socket_fuzzer.cc View 1 2 3 4 5 3 chunks +7 lines, -9 lines 0 comments Download
M net/http/http_stream_parser_fuzzer.cc View 1 2 3 4 5 6 7 2 chunks +4 lines, -2 lines 0 comments Download
M net/socket/fuzzed_socket.h View 1 2 3 4 5 4 chunks +34 lines, -20 lines 0 comments Download
M net/socket/fuzzed_socket.cc View 1 2 3 4 5 6 7 8 9 10 9 chunks +70 lines, -31 lines 0 comments Download
A net/socket/fuzzed_socket_factory.h View 1 2 3 4 5 1 chunk +64 lines, -0 lines 0 comments Download
A net/socket/fuzzed_socket_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +237 lines, -0 lines 0 comments Download
M net/socket/socks5_client_socket_fuzzer.cc View 1 2 3 2 chunks +5 lines, -2 lines 0 comments Download
M net/socket/socks_client_socket_fuzzer.cc View 1 2 3 4 3 chunks +9 lines, -12 lines 0 comments Download
A net/url_request/url_request_fuzzer.cc View 1 2 3 4 5 6 7 8 1 chunk +44 lines, -0 lines 0 comments Download

Messages

Total messages: 42 (16 generated)
mmenke
Eric: What do you think about this? It has a huge search space that it ...
4 years, 8 months ago (2016-04-22 20:00:34 UTC) #2
mmenke
https://codereview.chromium.org/1917503002/diff/40001/net/data/http/http.dict File net/data/http/http.dict (right): https://codereview.chromium.org/1917503002/diff/40001/net/data/http/http.dict#newcode54 net/data/http/http.dict:54: "HTTP/1.1 302 Found\x0ALocation: http://lost/\x0A\x0A" Strangely, I have yet to ...
4 years, 8 months ago (2016-04-22 20:12:47 UTC) #3
eroman
Cool, I think these are useful abstractions and test. https://codereview.chromium.org/1917503002/diff/60001/net/base/fuzzed_data_provider.cc File net/base/fuzzed_data_provider.cc (right): https://codereview.chromium.org/1917503002/diff/60001/net/base/fuzzed_data_provider.cc#newcode34 net/base/fuzzed_data_provider.cc:34: ...
4 years, 8 months ago (2016-04-22 22:07:11 UTC) #7
mmenke
https://codereview.chromium.org/1917503002/diff/60001/net/http/http_proxy_client_socket_fuzzer.cc File net/http/http_proxy_client_socket_fuzzer.cc (right): https://codereview.chromium.org/1917503002/diff/60001/net/http/http_proxy_client_socket_fuzzer.cc#newcode43 net/http/http_proxy_client_socket_fuzzer.cc:43: bool is_https_proxy = !(data_provider.ConsumeBits(8) & 1); On 2016/04/22 22:07:10, ...
4 years, 8 months ago (2016-04-22 22:59:32 UTC) #8
mmenke
Responses to some comments I disagree with, I'll respond to the others and upload another ...
4 years, 7 months ago (2016-04-25 15:09:19 UTC) #9
eroman
https://codereview.chromium.org/1917503002/diff/60001/net/base/fuzzed_data_provider.cc File net/base/fuzzed_data_provider.cc (right): https://codereview.chromium.org/1917503002/diff/60001/net/base/fuzzed_data_provider.cc#newcode35 net/base/fuzzed_data_provider.cc:35: unused_bits_ = remaining_data_.data()[remaining_data_.length() - 1]; On 2016/04/25 15:09:18, mmenke ...
4 years, 7 months ago (2016-04-25 16:07:12 UTC) #10
mmenke
On 2016/04/25 16:07:12, eroman wrote: > https://codereview.chromium.org/1917503002/diff/60001/net/base/fuzzed_data_provider.cc > File net/base/fuzzed_data_provider.cc (right): > > https://codereview.chromium.org/1917503002/diff/60001/net/base/fuzzed_data_provider.cc#newcode35 > ...
4 years, 7 months ago (2016-04-25 16:34:37 UTC) #11
mmenke
Hrm...I just discovered that these tests are not running deterministically. Some non-determinism is kinda expected ...
4 years, 7 months ago (2016-04-25 19:41:07 UTC) #12
mmenke
On 2016/04/25 19:41:07, mmenke wrote: > Hrm...I just discovered that these tests are not running ...
4 years, 7 months ago (2016-04-25 20:14:33 UTC) #13
Charlie Harrison
https://codereview.chromium.org/1917503002/diff/80001/net/base/fuzzed_data_provider.cc File net/base/fuzzed_data_provider.cc (right): https://codereview.chromium.org/1917503002/diff/80001/net/base/fuzzed_data_provider.cc#newcode41 net/base/fuzzed_data_provider.cc:41: num_bits -= bits_to_add; Drive-by: I think bits_to_add can be ...
4 years, 7 months ago (2016-04-26 02:24:57 UTC) #15
mmenke
After some digging, it looks like the fuzzer always considers the 101st, 1001st, and 1024th ...
4 years, 7 months ago (2016-04-27 18:22:07 UTC) #16
mmenke
Eric: PTAL. I've switched to always consuming bytes in multiples of 8 for each call ...
4 years, 7 months ago (2016-04-27 19:53:25 UTC) #19
mmenke
https://codereview.chromium.org/1917503002/diff/160001/net/data/http/http.dict File net/data/http/http.dict (right): https://codereview.chromium.org/1917503002/diff/160001/net/data/http/http.dict#newcode96 net/data/http/http.dict:96: "\x0AAge: 3153600000" This is 100 years. Figure that reduces ...
4 years, 7 months ago (2016-04-27 19:55:32 UTC) #20
eroman
lgtm https://codereview.chromium.org/1917503002/diff/180001/net/base/fuzzed_data_provider.cc File net/base/fuzzed_data_provider.cc (right): https://codereview.chromium.org/1917503002/diff/180001/net/base/fuzzed_data_provider.cc#newcode22 net/base/fuzzed_data_provider.cc:22: memcpy(dest, remaining_data_.data(), bytes_to_write); side-rant: unfortunately because the definition ...
4 years, 7 months ago (2016-04-28 01:32:36 UTC) #21
mmenke
Thanks for all the feedback! https://codereview.chromium.org/1917503002/diff/180001/net/base/fuzzed_data_provider.cc File net/base/fuzzed_data_provider.cc (right): https://codereview.chromium.org/1917503002/diff/180001/net/base/fuzzed_data_provider.cc#newcode22 net/base/fuzzed_data_provider.cc:22: memcpy(dest, remaining_data_.data(), bytes_to_write); On ...
4 years, 7 months ago (2016-04-28 16:01:38 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1917503002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1917503002/220001
4 years, 7 months ago (2016-04-28 16:02:13 UTC) #25
mmenke
[+mmoroz]: Hadn't realized you guys wanted to be CCed on all fuzzers - makes sense, ...
4 years, 7 months ago (2016-04-28 16:08:35 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1917503002/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1917503002/240001
4 years, 7 months ago (2016-04-28 16:27:38 UTC) #29
commit-bot: I haz the power
Try jobs failed on following builders: win_clang on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/13875)
4 years, 7 months ago (2016-04-28 17:36:58 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1917503002/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1917503002/260001
4 years, 7 months ago (2016-04-28 17:49:55 UTC) #34
eroman
https://codereview.chromium.org/1917503002/diff/260001/net/base/fuzzed_data_provider.h File net/base/fuzzed_data_provider.h (right): https://codereview.chromium.org/1917503002/diff/260001/net/base/fuzzed_data_provider.h#newcode29 net/base/fuzzed_data_provider.h:29: base::StringPiece ConsumeBytes(size_t bytes); FYI: In some follow-up changes I ...
4 years, 7 months ago (2016-04-28 18:32:33 UTC) #35
Charlie Harrison
https://codereview.chromium.org/1917503002/diff/260001/net/base/fuzzed_data_provider.h File net/base/fuzzed_data_provider.h (right): https://codereview.chromium.org/1917503002/diff/260001/net/base/fuzzed_data_provider.h#newcode29 net/base/fuzzed_data_provider.h:29: base::StringPiece ConsumeBytes(size_t bytes); On 2016/04/28 18:32:33, eroman wrote: > ...
4 years, 7 months ago (2016-04-28 18:37:42 UTC) #36
mmenke
https://codereview.chromium.org/1917503002/diff/260001/net/base/fuzzed_data_provider.h File net/base/fuzzed_data_provider.h (right): https://codereview.chromium.org/1917503002/diff/260001/net/base/fuzzed_data_provider.h#newcode29 net/base/fuzzed_data_provider.h:29: base::StringPiece ConsumeBytes(size_t bytes); On 2016/04/28 18:32:33, eroman wrote: > ...
4 years, 7 months ago (2016-04-28 18:38:30 UTC) #37
eroman
https://codereview.chromium.org/1917503002/diff/260001/net/base/fuzzed_data_provider.h File net/base/fuzzed_data_provider.h (right): https://codereview.chromium.org/1917503002/diff/260001/net/base/fuzzed_data_provider.h#newcode29 net/base/fuzzed_data_provider.h:29: base::StringPiece ConsumeBytes(size_t bytes); On 2016/04/28 18:38:29, mmenke wrote: > ...
4 years, 7 months ago (2016-04-28 18:45:49 UTC) #38
commit-bot: I haz the power
Committed patchset #12 (id:260001)
4 years, 7 months ago (2016-04-28 19:05:39 UTC) #40
commit-bot: I haz the power
4 years, 7 months ago (2016-04-30 17:20:04 UTC) #41
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/c951d41c1a0df97a0b6a17379f8f7c11989aa80f
Cr-Commit-Position: refs/heads/master@{#390440}

Powered by Google App Engine
This is Rietveld 408576698