[basicprofiles] Fix handling of multiple $DELTA
conditions
#18088
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a bug when having multiple DELTA conditions, resulting in pematurely saving the previous accepted value.
Example:
$DELTA > 1, $DELTA < 10
:An initial input 50 will be accepted (correct behavior)
Second input of 60 will pass
$DELTA > 1
(60 - 50 is greater than 1)Here, the accepted value was incorrectly saved to be 60 before checking the next condition
When the next condition is checked, the input of 60 is compared against the acceptedvalue (now 60), so the delta is 60 - 60 which is less than 10.
The correct behavior should be that input 60 is compared against the accepted value of 50, so 60 - 50 which is not less than 10.
Only after all conditions are checked and met should the accepted value be updated.
Please backport to 4.3