mirror of
https://github.com/systemd/systemd.git
synced 2024-11-28 04:33:36 +08:00
calendarspec: reject strings that only contain a timezone
This makes " UTC" an illegal date specification.
This commit is contained in:
parent
408a51e156
commit
04773cb50a
@ -779,9 +779,6 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) {
|
||||
assert(p);
|
||||
assert(spec);
|
||||
|
||||
if (isempty(p))
|
||||
return -EINVAL;
|
||||
|
||||
c = new0(CalendarSpec, 1);
|
||||
if (!c)
|
||||
return -ENOMEM;
|
||||
@ -820,6 +817,11 @@ int calendar_spec_from_string(const char *p, CalendarSpec **spec) {
|
||||
}
|
||||
}
|
||||
|
||||
if (isempty(p)) {
|
||||
r = -EINVAL;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (strcaseeq(p, "minutely")) {
|
||||
r = const_chain(0, &c->microsecond);
|
||||
if (r < 0)
|
||||
|
@ -202,6 +202,7 @@ int main(int argc, char* argv[]) {
|
||||
test_next("Mon 2017-05~07/1 UTC", "", 12345, 1496016000000000);
|
||||
|
||||
assert_se(calendar_spec_from_string("test", &c) < 0);
|
||||
assert_se(calendar_spec_from_string(" utc", &c) < 0);
|
||||
assert_se(calendar_spec_from_string(" ", &c) < 0);
|
||||
assert_se(calendar_spec_from_string("", &c) < 0);
|
||||
assert_se(calendar_spec_from_string("7", &c) < 0);
|
||||
|
Loading…
Reference in New Issue
Block a user