7cde28909f
Functions that declare variables totaling more than 100,000 slots will now generate an error. This is only a partial mitigation to the problem, as a sophisticated attack could still chain/nest multiple functions together to consume extremely large amounts of stack. However, this mitigation is still more sophisticated than our peers; both WebGL and glslang are susceptible to similar problems, and in the general case (ES3+ with full flow control) it's intractable. Change-Id: I153c75267c017a23f59fe9e59f6e391197ee6101 Bug: oss-fuzz:40304, oss-fuzz:40694 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467759 Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
13 lines
198 B
Plaintext
13 lines
198 B
Plaintext
struct S {
|
|
half4 ah4[1];
|
|
half ah[99999];
|
|
half4 h4;
|
|
half h;
|
|
};
|
|
|
|
void main() {
|
|
int small;
|
|
S big_chungus;
|
|
S no_report; // we don't need to report overflows past the first
|
|
}
|