diff --git a/cpp/ql/lib/change-notes/2026-02-06-UncheckedLeapYearAfterModification_Refactor.md b/cpp/ql/lib/change-notes/2026-02-06-UncheckedLeapYearAfterModification_Refactor.md index 3d0f71c5a65..4a2cf3ef189 100644 --- a/cpp/ql/lib/change-notes/2026-02-06-UncheckedLeapYearAfterModification_Refactor.md +++ b/cpp/ql/lib/change-notes/2026-02-06-UncheckedLeapYearAfterModification_Refactor.md @@ -1,4 +1,4 @@ --- category: minorAnalysis --- -* Refactor of UncheckedLeapYearAfterYearModification.ql to address large numbers of false positives. Reduced alerts from 40k to 2k. \ No newline at end of file +* Refactored the "Year field changed using an arithmetic operation without checking for leap year" query (`cpp/leap-year/unchecked-after-arithmetic-year-modification`) to address large numbers of false positive results. \ No newline at end of file diff --git a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql index 70ce862c3c2..5ebd8af4392 100644 --- a/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql +++ b/cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql @@ -783,7 +783,7 @@ class LeapYearGuardCondition extends GuardCondition { * ... values eventually used in the same time struct * If this is even more challenging if the struct the values end up in are not * local (set inter-procedurally). - * This flow flows constants 1-31 to a month or day assignment. + * This configuration looks for constants 1-31 flowing to a month or day assignment. * It is assumed a user of this flow will check if the month/day source and month/day sink * are in the same basic blocks as a year modification source and a year modification sink. * It is also assumed a user will check if the constant source is a value that is ignorable