You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The parser has a recursion limit to prevent stack overflows on deeply nested selection sets. Validation has recursion breaks for things that may circularly reference each other. But if you build a chain of thousands of named things that reference each other, you may theoretically be able to cause a stack overflow before the recursion break triggers (before it references back to the original definition).
The text was updated successfully, but these errors were encountered:
* chore(compiler): add a failing test for #742
* Add max depth to RecursionStack
* Use the CycleError with path for directive and input object cycles
* Reuse length of `RecursionGuard::seen` set as the current recursion depth
* Add limit when recursively walking selection set
* Add `ValidationOptions` structure to pass in recursion limit
Possibly also a diagnostic limit in the future.
Maybe there would be options that could differ between executable and
schema validation, but not right now
* Revert "Add `ValidationOptions` structure to pass in recursion limit"
This reverts commit 7206c61.
* Hardcode recursion limit
* Add a passing fragment chain test; add directive chain tests; lower recursion limit
* Test input objects
* chglg
* Add an error type for hitting recursion limit
* Track max recursion depth in RecursionStack
* Lower limits: 32 for directives and types, 100 for fragments and selections
* update limit in chglg
The parser has a recursion limit to prevent stack overflows on deeply nested selection sets. Validation has recursion breaks for things that may circularly reference each other. But if you build a chain of thousands of named things that reference each other, you may theoretically be able to cause a stack overflow before the recursion break triggers (before it references back to the original definition).
The text was updated successfully, but these errors were encountered: