Commit 10a116f2 authored by Charlie Hu's avatar Charlie Hu Committed by Commit Bot

Add fuzzer for parse of Permissions-Policy header

Bug: 1095641
Change-Id: I7558008667c0c3a83dbb19c9211bad78db1dd3fc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2272611Reviewed-by: default avatarIan Clelland <iclelland@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Commit-Queue: Charlie Hu <chenleihu@google.com>
Cr-Commit-Position: refs/heads/master@{#785803}
parent 80cb8228
...@@ -1661,3 +1661,14 @@ fuzzer_test("document_policy_fuzzer") { ...@@ -1661,3 +1661,14 @@ fuzzer_test("document_policy_fuzzer") {
seed_corpus = seed_corpus =
"//third_party/blink/renderer/core/feature_policy/document_policy_corpus" "//third_party/blink/renderer/core/feature_policy/document_policy_corpus"
} }
fuzzer_test("permissions_policy_fuzzer") {
sources = [ "feature_policy/permissions_policy_fuzzer.cc" ]
deps = [
"//third_party/blink/renderer/platform:blink_fuzzer_test_support",
"//third_party/icu",
]
dict =
"//third_party/blink/renderer/core/feature_policy/permissions_policy.dict"
seed_corpus = "//third_party/blink/renderer/core/feature_policy/permissions_policy_corpus"
}
# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"accelerometer"
"ambient-light-sensor"
"autoplay"
"camera"
"document-domain"
"document-write"
"encrypted-media"
"forms"
"fullscreen"
"geolocation"
"gyroscope"
"hid"
"idle-detection"
"layout-animations"
"lazyload"
"magnetometer"
"microphone"
"midi"
"modals"
"orientation-lock"
"payment"
"picture-in-picture"
"pointer-lock"
"popups"
"presentation"
"screen-wake-lock"
"scripts"
"serial"
"speaker"
"sync-script"
"sync-xkr"
"top-navigation"
"unsized-media"
"usb"
"vertical-scroll"
"vr"
"\"https://example.com/\""
"*"
"self"
"("
")"
"="
"0"
"1"
".0"
"?0"
"?1"
"\""
" "
camera=(self "https://example.com/"), camera=(self "https://example.net/")
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/core/feature_policy/feature_policy_parser.h"
#include <stddef.h>
#include <stdint.h>
#include <memory>
#include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/testing/blink_fuzzer_test_support.h"
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
static blink::BlinkFuzzerTestSupport test_support =
blink::BlinkFuzzerTestSupport();
blink::PolicyParserMessageBuffer logger;
scoped_refptr<const blink::SecurityOrigin> origin =
blink::SecurityOrigin::CreateFromString("https://example.com/");
blink::FeaturePolicyParser::ParseHeader(
g_empty_string, WTF::String(data, size), origin.get(), logger);
return 0;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment