skia2/include/sksl
John Stiles ff5bb37b72 Replace illegal DSLTypes with Poison types.
The fuzzer has been poking various holes in DSL by intentionally
creating illegal types (e.g. private or not ES2-compatible), then
finding ways to use those types, e.g. constructors or swizzles.

Previously we were mitigating those by calling `reportIllegalTypes` at
the locations where the type was used. Now, we detect the illegal type
usage at the source, and return a poison DSLType. This prevents the
illegal type from leaking out at all, and stops the problem at its
source. It also allows us to remove calls to `reportIllegalTypes`
sprinkled through the code, as those are now redundant.

Change-Id: Id50b50f72849111d80f76e4fdc2cb6094d3009bd
Bug: oss-fuzz:39597
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/455999
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-10-06 00:12:07 +00:00
..
DSL.h Broke DSLVar into separate subclasses 2021-07-15 15:40:06 +00:00
DSLBlock.h Fixed some fixups not being applied to DSL code 2021-07-12 14:25:38 +00:00
DSLCase.h Fix line numbers of several DSLParser errors 2021-09-03 22:12:22 +00:00
DSLCore.h Remove ASTNode and SkSLParser 2021-09-28 13:36:49 +00:00
DSLExpression.h Removed a number of utility methods from DSLWriter 2021-10-04 20:42:22 +00:00
DSLFunction.h Removed a number of utility methods from DSLWriter 2021-10-04 20:42:22 +00:00
DSLLayout.h Further unified error handling between SkSL and DSL 2021-08-13 22:26:10 +00:00
DSLModifiers.h Emit qualifiers in the GLSL ES-required order. 2021-10-01 19:09:43 +00:00
DSLRuntimeEffects.h Disallow sk_FragCoord in SkRuntimeEffect 2021-07-21 13:36:56 +00:00
DSLStatement.h Make DSLStatement-from-SkSL ctors public. 2021-09-20 14:09:14 +00:00
DSLSymbols.h Fixed DSLParser assertion error uncovered by fuzzer 2021-09-20 13:48:41 +00:00
DSLType.h Replace illegal DSLTypes with Poison types. 2021-10-06 00:12:07 +00:00
DSLVar.h Removed a number of utility methods from DSLWriter 2021-10-04 20:42:22 +00:00
DSLWrapper.h Initial land of DSLParser 2021-07-20 20:28:54 +00:00
SkSLErrorReporter.h Reland "Renamed SkSL "offset" to "line"" 2021-09-27 19:52:08 +00:00