# HG changeset patch # User Augie Fackler # Date 2018-05-03 16:54:20 # Node ID b8b253aec9538b2614295f6ba4ecefe335ad8bf5 # Parent 1ec4cb8cbc87004ffbeeb1b5d98acef04c38d59a mpatch: introduce a safesub() helper as well Same reason as safeadd(). diff --git a/mercurial/mpatch.c b/mercurial/mpatch.c --- a/mercurial/mpatch.c +++ b/mercurial/mpatch.c @@ -88,6 +88,17 @@ static inline bool safeadd(int src, int return true; } +/* subtract src from dest and store result in dest */ +static inline bool safesub(int src, int *dest) +{ + if (((src > 0) && (*dest < INT_MIN + src)) || + ((src < 0) && (*dest > INT_MAX + src))) { + return false; + } + *dest -= src; + return true; +} + /* move hunks in source that are less cut to dest, compensating for changes in offset. the last hunk may be split if necessary. */