Go to file
John Stiles 36f53ec7e1 Disallow constructors of ES3 types in ES2 code.
The fuzzer found that we constructed TypeReferences without first
checking for disallowed tyoes. (In fact, TypeReference creation had no
error checking at all; it didn't even have Convert/Make functions.)

Added proper Convert/Make to TypeReference, and used those calls to
report errors or cause assertions if trying to make a TypeReference to a
type that the program did not support.

(While tracking down this bug, I added strict-ES2 type assertions to our
constructor IR nodes as well. This helped pinpoint the error and seem
reasonable to leave in, just in case.)

Change-Id: I896b68ae9d3d9e1f30d7eba9fa594617ab851c74
Bug: oss-fuzz:39540
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/455498
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-10-04 15:02:24 +00:00
animations
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Remove ASTNode and SkSLParser 2021-09-28 13:36:49 +00:00
bin [sk] Update asset download references to use SK 2021-09-17 16:55:53 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Add Abseil dependency for Dawn 2021-09-22 22:05:32 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org Convert internal SkSL to use .eval() 2021-09-03 15:54:54 +00:00
dm [graphite] Add ContextFactory 2021-09-30 18:04:54 +00:00
docker [infra] Update cmake docker image to be Debian 10 2021-07-23 11:21:31 +00:00
docs/examples Reland "Add sRGB 8888 colortype" 2021-08-24 12:56:32 +00:00
example Remove SDL from DEPS (and SDL example that used it) 2021-05-27 21:37:57 +00:00
experimental [graphite] Add support for Mtl Stencil/Depth Textures. 2021-10-04 14:37:22 +00:00
fuzz Add support for function prototypes in Pipeline stage. 2021-09-30 20:02:19 +00:00
gm Rename shaders named input in test code. 2021-09-30 17:24:11 +00:00
gn Disallow constructors of ES3 types in ES2 code. 2021-10-04 15:02:24 +00:00
include Fixed unsupported type errors in pure DSL 2021-10-04 14:32:19 +00:00
infra Update SKP version 2021-10-03 08:56:23 +00:00
modules [skottie] Fill effect opacity workaround 2021-10-01 16:20:54 +00:00
platform_tools [JetSki] bind drawGlyphs to JetSki for Text rendering 2021-09-22 19:38:13 +00:00
resources Add test for construction of non-ES2 types. 2021-10-04 15:02:21 +00:00
samplecode Move more classes to skgpu::v1 namespace 2021-09-16 14:04:16 +00:00
site pulling the plug 2021-10-02 13:33:49 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src Disallow constructors of ES3 types in ES2 code. 2021-10-04 15:02:24 +00:00
tests Disallow constructors of ES3 types in ES2 code. 2021-10-04 15:02:24 +00:00
third_party Roll skcms from 9aafe826f922 to a00edc64c486 (1 revision) 2021-09-29 20:26:20 +00:00
tools [graphite] Add support to Mac Viewer. 2021-09-30 21:38:25 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore add mskps/ to .gitignore 2021-07-06 21:04:55 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add trusted service accounts to AUTHORS file 2021-09-29 20:18:40 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Clean up #includes in SkCFObject. 2021-10-04 14:02:02 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll ANGLE from 3de06bcd0c81 to d3764f080f6c (19 revisions) 2021-10-04 05:26:22 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Roll infra to update vpython 2021-09-10 17:41:28 +00:00
go.sum [infra] Roll infra to update vpython 2021-09-10 17:41:28 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +00:00
PRESUBMIT.py Remove AUTHORS check from PRESUBMIT.py 2021-09-30 14:12:18 +00:00
public.bzl Separate SkUnicode bazel source sets 2021-08-09 18:23:15 +00:00
README
README.chromium
RELEASE_NOTES.txt Revert "Remove SkRuntimeShader::makeImage." 2021-09-28 13:24:50 +00:00
whitespace.txt Test SkCQ 2021-07-24 21:07:28 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.