From 584a31cd9047ce8f93b9eab9233c1b62a9278054 Mon Sep 17 00:00:00 2001
From: Jason Rodney Hansen
Date: Mon, 29 Nov 2021 18:19:51 -0700
Subject: Used checked_add for years and months

---
 helix-core/src/increment/date_time.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/helix-core/src/increment/date_time.rs b/helix-core/src/increment/date_time.rs
index 39646a17..e4227386 100644
--- a/helix-core/src/increment/date_time.rs
+++ b/helix-core/src/increment/date_time.rs
@@ -340,7 +340,7 @@ fn ndays_in_month(year: i32, month: u32) -> u32 {
 }
 
 fn add_months(date_time: NaiveDateTime, amount: i64) -> Option<NaiveDateTime> {
-    let month = date_time.month0() as i64 + amount;
+    let month = (date_time.month0() as i64).checked_add(amount)?;
     let year = date_time.year() + i32::try_from(month / 12).ok()?;
     let year = if month.is_negative() { year - 1 } else { year };
 
@@ -359,7 +359,7 @@ fn add_months(date_time: NaiveDateTime, amount: i64) -> Option<NaiveDateTime> {
 }
 
 fn add_years(date_time: NaiveDateTime, amount: i64) -> Option<NaiveDateTime> {
-    let year = i32::try_from(date_time.year() as i64 + amount).ok()?;
+    let year = i32::try_from((date_time.year() as i64).checked_add(amount)?).ok()?;
     let ndays = ndays_in_month(year, date_time.month());
 
     if date_time.day() > ndays {
-- 
cgit v1.2.3-70-g09d2