Fix invalid comparison #157
Merged
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.
This fixes #156
There happened to be an edge case where a long long variable was getting a negative value (-1) and then it was compared to a size_t variable.
When there is an arithmetic comparison between size_t and and an (signed) long long operator, then the latter transforms into an unsigned version. In this issue, hasNext() was comparing a positive number x (of type size_t) with -1 : return x <= -1 , but -1 was converted to size_t and consequently in a very large positive number.
Added an extra expression which checks if the variable is negative.