Skip to content

Commit 0b8e8e5

Browse files
committed
Handle malformed date inputs that contain NULL bytes
1 parent 1063612 commit 0b8e8e5

1 file changed

Lines changed: 20 additions & 10 deletions

File tree

wcfsetup/install/files/lib/system/search/SearchHandler.class.php

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,16 @@ private function buildDateCondition(): void
150150
{
151151
$startDate = 0;
152152
if (!empty($this->parameters['startDate'])) {
153-
$startDateTime = \DateTime::createFromFormat(
154-
"Y-m-d",
155-
$this->parameters['startDate'],
156-
WCF::getUser()->getTimezone()
157-
);
153+
$startDateTime = false;
154+
try {
155+
$startDateTime = \DateTime::createFromFormat(
156+
"Y-m-d",
157+
$this->parameters['startDate'],
158+
WCF::getUser()->getTimezone()
159+
);
160+
} catch (\ValueError) {
161+
}
162+
158163
if ($startDateTime !== false) {
159164
$startDateTime->setTime(0, 0, 0);
160165
$startDate = $startDateTime->getTimestamp();
@@ -163,11 +168,16 @@ private function buildDateCondition(): void
163168

164169
$endDate = 0;
165170
if (!empty($this->parameters['endDate'])) {
166-
$endDateTime = \DateTime::createFromFormat(
167-
"Y-m-d",
168-
$this->parameters['endDate'],
169-
WCF::getUser()->getTimezone()
170-
);
171+
$endDateTime = false;
172+
try {
173+
$endDateTime = \DateTime::createFromFormat(
174+
"Y-m-d",
175+
$this->parameters['endDate'],
176+
WCF::getUser()->getTimezone()
177+
);
178+
} catch (\ValueError) {
179+
}
180+
171181
if ($endDateTime !== false) {
172182
$endDateTime->setTime(23, 59, 59);
173183
$endDate = $endDateTime->getTimestamp();

0 commit comments

Comments
 (0)