diff options
-rw-r--r-- | libexslt/date.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libexslt/date.c b/libexslt/date.c index 9d8ccd61..21214a1f 100644 --- a/libexslt/date.c +++ b/libexslt/date.c @@ -1740,16 +1740,16 @@ _exsltDateAddDurCalc (exsltDateDurValPtr ret, exsltDateDurValPtr x, exsltDateDurValPtr y) { /* months */ - if ((x->mon > 0 && y->mon > LONG_MAX - x->mon) || - (x->mon < 0 && y->mon < LONG_MIN - x->mon)) { + if ((x->mon > 0 && y->mon > LONG_MAX - x->mon) || + (x->mon < 0 && y->mon <= LONG_MIN - x->mon)) { /* Overflow */ return 0; } ret->mon = x->mon + y->mon; /* days */ - if ((x->day > 0 && y->day > LONG_MAX - x->day) || - (x->day < 0 && y->day < LONG_MIN - x->day)) { + if ((x->day > 0 && y->day > LONG_MAX - x->day) || + (x->day < 0 && y->day <= LONG_MIN - x->day)) { /* Overflow */ return 0; } |