skia2/resources/sksl/runtime_errors
John Stiles a047e8bf4d Improve overflow checks in CheckProgramUnrolledSize.
The fuzzer discovered that it could overflow the program-size value.
Rewrote the logic to use SkSafeMath everywhere, and to early-exit as
soon as a statement manages to exceed the program size.

Change-Id: I01511b2201173c95ebc1ac602901410ac9d74d73
Bug: oss-fuzz:38697
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449098
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-15 16:42:45 +00:00
..
DerivativesES2.rts Allow derivatives in Runtime Effects when ES3 restrictions are off. 2021-08-13 16:45:17 +00:00
ES3Types.rts Add tests for ES3 types embedded in structs and arrays. 2021-08-17 17:11:47 +00:00
FirstClassArrays.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
IllegalArrayOps.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
IllegalIndexing.rts Evaluate single-argument generic intrinsics at compile time. 2021-05-10 14:50:50 +00:00
IllegalOperators.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
IllegalPrecisionQualifiers.rts Honor lowp/mediump/highp precision qualifiers in IRGenerator. 2021-08-04 21:29:10 +00:00
IllegalRecursionComplex.rts Explicitly detect static recursion in SkSL 2021-07-24 00:01:15 +00:00
IllegalRecursionMutual.rts Explicitly detect static recursion in SkSL 2021-07-24 00:01:15 +00:00
IllegalRecursionSimple.rts Explicitly detect static recursion in SkSL 2021-07-24 00:01:15 +00:00
IllegalShaderSampling.rts Remove SkSL sample() intrinsic for Skia object types 2021-09-14 14:18:03 +00:00
IllegalShaderUse.rts Convert internal SkSL to use .eval() 2021-09-03 15:54:54 +00:00
IllegalStatements.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
InvalidBlendMain.rtb Fix for fuzzer-discovered out-of-bounds array access. 2021-06-10 14:32:10 +00:00
InvalidColorFilterFeatures.rtcf Remove layout(marker) from runtime effect SkSL 2021-04-19 18:48:45 +00:00
InvalidColorFilterMain.rtcf Fix for fuzzer-discovered out-of-bounds array access. 2021-06-10 14:32:10 +00:00
InvalidShaderMain.rts Fix for fuzzer-discovered out-of-bounds array access. 2021-06-10 14:32:10 +00:00
LoopConditionErrors.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
LoopExpressionErrors.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
LoopInitializerErrors.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
LoopStructureErrors.rts Increase GetLoopUnrollInfo loop-count limit to 100,000. 2021-09-07 19:28:08 +00:00
Ossfuzz36655.rts Add improved regression test for oss-fuzz:36655. 2021-08-06 13:03:32 +00:00
Ossfuzz38131.rts Fixed illegal interface block reporting 2021-09-07 20:18:00 +00:00
ProgramTooLarge_BlocklessLoops.rts Add program-too-large test using for loops without blocks. 2021-09-15 14:19:00 +00:00
ProgramTooLarge_Extreme.rts Improve overflow checks in CheckProgramUnrolledSize. 2021-09-15 16:42:45 +00:00
ProgramTooLarge_FlatLoop.rts Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
ProgramTooLarge_Functions.rts Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
ProgramTooLarge_NestedLoops.rts Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
ProgramTooLarge_SplitLoops.rts Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
ProgramTooLarge_StackDepth.rts Reject programs which exceed 50 stack frames during size analysis. 2021-09-03 02:41:34 +00:00
UnsupportedTypeFragmentProcessor.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
UnsupportedTypeSampler.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
UnsupportedTypeTexture.rts Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00