calendarspec: reject strings with spurious spaces and signs

strtoul() parses leading whitespace and an optional sign;
check that the first character is a digit to prevent odd
specifications like "00:  00:  00" and "-00:+00/-1".
This commit is contained in:
Douglas Christman
2016-11-24 18:22:08 -05:00
parent 6bae2fd4cd
commit 9dfa81a00a
2 changed files with 7 additions and 0 deletions
+3
View File
@@ -216,6 +216,9 @@ int main(int argc, char* argv[]) {
assert_se(calendar_spec_from_string("*-*~5/5", &c) < 0);
assert_se(calendar_spec_from_string("Monday.. 12:00", &c) < 0);
assert_se(calendar_spec_from_string("Monday..", &c) < 0);
assert_se(calendar_spec_from_string("-00:+00/-5", &c) < 0);
assert_se(calendar_spec_from_string("00:+00/-5", &c) < 0);
assert_se(calendar_spec_from_string("2016- 11- 24 12: 30: 00", &c) < 0);
test_timestamp();
test_hourly_bug_4031();