cc473cd92f
Some paths through swizzle optimization would replace a swizzles with a constructor--e.g. `float3(1, 2, 3).y` would be replaced with `float(2)`. (Constructor::Convert was responsible for replacing this trivial constructor with the literal `2.0`.) The optimization code asserted that this replacement would succeed, but the fuzzer managed to construct a counterexample where the constructor rejected the value. Specifically, by nesting casts between int3 and float3, it found a case where Constructor::Convert returned null because the literal value was out of range for `int` types. This assertion didn't really add value so removing it was harmless. Constructor::Convert already reports an error when it fails, and null returns are handled properly throughout. Change-Id: I575d441ed90d6b696f6399941c3f6d84698794bc Bug: oss-fuzz:44045 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499382 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
2 lines
50 B
Plaintext
2 lines
50 B
Plaintext
int[int3(half3(int3(half3(662666666.*6))))[1]] x;
|