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
I'm happy to submit a fix to the library. It could be the specific patch suggested above, but the several loop and until usages inside the library, combined with the complex logic, looks like a liability. I think a better patch would be to replace the current loop and until usages with safe_ versions that control a max number of iterations to prevent these infinite loops by design. For example:
safe_loopdo# m = 10_000 or whatever by default, and can be passed by parameter end
I think it's probably better to ensure the rule is valid, rather than break out of an infinite loop. Although, it would obviously be better to gracefully handle an infinite loop than crash.
For example, #554 will fix the issue raised in #469, but does not handle infinite loops.
This enters an infinite loop:
We have patched this internally with:
I'm happy to submit a fix to the library. It could be the specific patch suggested above, but the several
loop
anduntil
usages inside the library, combined with the complex logic, looks like a liability. I think a better patch would be to replace the currentloop
anduntil
usages withsafe_
versions that control a max number of iterations to prevent these infinite loops by design. For example:What do you think?
Similar to #469
The text was updated successfully, but these errors were encountered: