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.
I looked at PR #243 and was inspired to write this new pull request, which does a better job of integer overflow detection. This PR does not fix all the integer overflow issues in
less
but I hope it catches most of the likely ones. This PR uses the following ideas:ckd_add
andckd_mul
macros that will be standardized in C23's<stdckdint.h>
, and fall back on portable substitutes good enough forless
on platforms that don't yet support these macros (which is most platforms today). This is because in the long run it'll be better to use the standard way of checking for integer overflow than to use idiosyncratic macros or functions.double
, so thatHAVE_FLOAT
is no longer needed.I think this PR does everything that PR #243 does, so if you install it you shouldn't need to install PR #243.