From: Luca Boccassi Date: Sat, 28 Mar 2026 21:56:41 +0000 (+0000) Subject: calendarspec: use ADD_SAFE for repeat offset calculation X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=de2a7614f1703cbba6d978333900a6cdbc401a84;p=thirdparty%2Fsystemd.git calendarspec: use ADD_SAFE for repeat offset calculation Use overflow-safe ADD_SAFE() instead of raw addition when computing the next matching calendar component with repeat. On overflow, skip the component instead of using a bogus value. CID#1548052 Follow-up for a2eb5ea79c53620cfcf616e83bfac0c431247f86 --- diff --git a/src/shared/calendarspec.c b/src/shared/calendarspec.c index dc13ae0f779..df371ac4f8c 100644 --- a/src/shared/calendarspec.c +++ b/src/shared/calendarspec.c @@ -1149,9 +1149,8 @@ static int find_matching_component( } else if (c->repeat > 0) { int k; - k = start + ROUND_UP(*val - start, c->repeat); - - if ((!d_set || k < d) && (stop < 0 || k <= stop)) { + if (ADD_SAFE(&k, start, ROUND_UP(*val - start, c->repeat)) && + (!d_set || k < d) && (stop < 0 || k <= stop)) { d = k; d_set = true; }