Skip to content

Commit f3d6f4e

Browse files
committed
Fix NPE when checking cron constraints
1 parent 5c2ad43 commit f3d6f4e

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

src/main/java/com/cronutils/model/definition/CronConstraintsFactory.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,13 @@ public static CronConstraint ensureEitherDayOfWeekOrDayOfMonth() {
5353
@Override
5454
public boolean validate(Cron cron) {
5555
CronField dayOfYearField = cron.retrieve(CronFieldName.DAY_OF_YEAR);
56+
CronField dayOfMonthField = cron.retrieve(CronFieldName.DAY_OF_MONTH);
57+
CronField dayOfWeekField = cron.retrieve(CronFieldName.DAY_OF_WEEK);
5658
if (dayOfYearField == null || dayOfYearField.getExpression() instanceof QuestionMark) {
57-
if (!(cron.retrieve(CronFieldName.DAY_OF_MONTH).getExpression() instanceof QuestionMark)) {
58-
return cron.retrieve(CronFieldName.DAY_OF_WEEK).getExpression() instanceof QuestionMark;
59+
if (dayOfMonthField != null && !(dayOfMonthField.getExpression() instanceof QuestionMark)) {
60+
return dayOfWeekField != null && dayOfWeekField.getExpression() instanceof QuestionMark;
5961
} else {
60-
return !(cron.retrieve(CronFieldName.DAY_OF_WEEK).getExpression() instanceof QuestionMark);
62+
return dayOfWeekField != null && !(dayOfWeekField.getExpression() instanceof QuestionMark);
6163
}
6264
}
6365

0 commit comments

Comments
 (0)