basic/calendarspec: add check for repeat values that would overflow
https://oss-fuzz.com/v2/issue/4651449704251392/7004
This commit is contained in:
@@ -187,6 +187,8 @@ int calendar_spec_normalize(CalendarSpec *c) {
|
||||
}
|
||||
|
||||
_pure_ static bool chain_valid(CalendarComponent *c, int from, int to, bool end_of_month) {
|
||||
assert(to >= from);
|
||||
|
||||
if (!c)
|
||||
return true;
|
||||
|
||||
@@ -197,6 +199,10 @@ _pure_ static bool chain_valid(CalendarComponent *c, int from, int to, bool end_
|
||||
if (c->start < from || c->start > to)
|
||||
return false;
|
||||
|
||||
/* Avoid overly large values that could cause overflow */
|
||||
if (c->repeat > to - from)
|
||||
return false;
|
||||
|
||||
/*
|
||||
* c->repeat must be short enough so at least one repetition may
|
||||
* occur before the end of the interval. For dates scheduled
|
||||
|
||||
Reference in New Issue
Block a user