|
diff --git a/src/libknot/dnssec/key.c b/src/libknot/dnssec/key.c
|
|
index 7dc0540..3e351bb 100644
|
|
--- a/src/libknot/dnssec/key.c
|
|
+++ b/src/libknot/dnssec/key.c
|
|
@@ -260,7 +260,15 @@ static int key_param_time(const void *save_to, char *value)
|
|
|
|
struct tm parsed = { 0 };
|
|
|
|
- if (!strptime(value, "%Y%m%d%H%M%S", &parsed)) {
|
|
+ if (strlen(value) != 14) {
|
|
+ return KNOT_EINVAL;
|
|
+ }
|
|
+
|
|
+ char *v = value;
|
|
+ char buf[32] = "";
|
|
+ int ret = sprintf(buf, "%.4s %.2s %.2s %.2s %.2s %.2s",
|
|
+ v, v + 4, v + 6, v + 8, v + 10, v + 12);
|
|
+ if (ret != 19 || !strptime(buf, "%Y %m %d %H %M %S", &parsed)) {
|
|
return KNOT_EINVAL;
|
|
}
|
|
|