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

Issue 2546233002: Fuzzer for TextCodecs (Closed)

Created:
4 years ago by jsbell
Modified:
3 years, 9 months ago
CC:
chromium-reviews, blink-reviews, blink-reviews-wtf_chromium.org, fuzzing_chromium.org, Mikhail, jungshik at Google
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fuzzer for TextCodecs This introduces a libFuzzer-based fuzzer (which can be run locally or via ClusterFuzz) for the WTF::TextCodec implementations. It exercises the codecs - some of which are implemented in blink, like UTF-8, UTF-16, Latin1, and some of which come wrap ICU - with all the argument permutations for encoding and decoding. Fuzzer docs: https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/getting_started.md A generated corpus was uploaded to Google Cloud Storage per the docs; no dictionary is added since any byte stream is useful. Running the fuzzer locally, three bugs were already found and fixed.

Patch Set 1 #

Patch Set 2 : Moved to platform/ #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+102 lines, -0 lines) Patch
M third_party/WebKit/Source/platform/BUILD.gn View 1 1 chunk +13 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/platform/TextCodecFuzzer.cpp View 1 1 chunk +71 lines, -0 lines 3 comments Download
M third_party/WebKit/Source/wtf/text/TextEncodingRegistry.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/wtf/text/TextEncodingRegistry.cpp View 1 chunk +16 lines, -0 lines 0 comments Download

Messages

Total messages: 16 (7 generated)
jsbell
This found bugs 661367, 661823, 662146 - seems worth having. But... the CL as is ...
4 years ago (2016-12-02 22:22:30 UTC) #2
Charlie Harrison
This seems fine to me, wtf doesn't have a dependency on platform, just this fuzzer ...
4 years ago (2016-12-02 22:27:33 UTC) #3
haraken
Yeah... BlinkFuzzerTestSupport.{h,cpp} has dependency on content/ and platform::SchemeRegistry, so BlinkFuzzerTestSupport needs to stay in platform/. ...
4 years ago (2016-12-03 02:14:21 UTC) #5
jsbell
csharrison@, haraken@ - please take a look? I'm not thrilled with the getEncodingNamesForTesting() addition so ...
4 years ago (2016-12-06 23:57:53 UTC) #9
haraken
Dependency-wise LGTM
4 years ago (2016-12-07 00:21:30 UTC) #12
Charlie Harrison
https://codereview.chromium.org/2546233002/diff/20001/third_party/WebKit/Source/platform/TextCodecFuzzer.cpp File third_party/WebKit/Source/platform/TextCodecFuzzer.cpp (right): https://codereview.chromium.org/2546233002/diff/20001/third_party/WebKit/Source/platform/TextCodecFuzzer.cpp#newcode27 third_party/WebKit/Source/platform/TextCodecFuzzer.cpp:27: Vector<String> encodings = WTF::getEncodingNamesForTesting(); Can you make all these ...
4 years ago (2016-12-07 16:07:16 UTC) #13
jsbell
FYI, I haven't had a chance to get back to this. If anyone wants to ...
3 years, 9 months ago (2017-03-02 20:37:51 UTC) #14
Charlie Harrison
I can try landing this, as it seems high value.
3 years, 9 months ago (2017-03-03 01:39:03 UTC) #15
jsbell
3 years, 9 months ago (2017-03-03 17:39:25 UTC) #16
On 2017/03/03 01:39:03, Charlie Harrison wrote:
> I can try landing this, as it seems high value.

Awesome! Closing this out then.

Powered by Google App Engine
This is Rietveld 408576698