Reject empty `controller` in ControllerMap::resolveCustomController()
authorTim Düsterhus <duesterhus@woltlab.com>
Wed, 1 Jun 2022 08:30:55 +0000 (10:30 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Wed, 1 Jun 2022 08:51:02 +0000 (10:51 +0200)
commit4a40217a1e5bfe9a2f7d9f4b7c485add6baa7213
tree4c3aeab27e9789f8bba2ad7697c68483688ca8dc
parent4d99b91eea0f35bfcd7505cf651419a2714474c0
Reject empty `controller` in ControllerMap::resolveCustomController()

Based on the current callers of this method it is impossible that an empty
string is passed in:

- In LookupRequestRoute the matched controller will always contain a non-slash
  character, unless the URL itself only consists of slashes, which is rejected
  early.
- In ControllerMap::lookupDefaultController() the method will only be called if
  the `routePart` of the landing page matches `__WCF_CMS__` which is only the
  case if the page does not have an controller assigned. In that case the invariant
  that a custom URL must be configured holds and `->lookupCmsPage()` will not
  return an empty controller value.
wcfsetup/install/files/lib/system/request/ControllerMap.class.php