From de2a7614f1703cbba6d978333900a6cdbc401a84 Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Sat, 28 Mar 2026 21:56:41 +0000 Subject: [PATCH] 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 --- src/shared/calendarspec.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/shared/calendarspec.c b/src/shared/calendarspec.c index dc13ae0f77..df371ac4f8 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; }