Re: XSLTProcessor max depth
| From: | Larry Garfield | Date: | Sun, 01 Oct 2023 15:43:08 +0000 |
| Subject: | Re: XSLTProcessor max depth | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-121204@lists.php.net to get a copy of this message | ||
On Sat, Sep 30, 2023, at 10:18 AM, Niels Dossche wrote:
> Hi internals
>
> I'm looking to address
> https://bugs.php.net/bug.php?id=71571.
> TL;DR: XSL has a maximum recursion depth, and it may even depend on the
> distro/OS config.
> For complex inputs you may reach this limit, but PHP offers no way to
> change that limit.
>
> As we already have methods in XSLTProcessor to configure certain things
> (e.g. setProfiling, setSecurityPrefs), it may be an idea to add
>
setMaxDepth(int $depth) or something alike.
>
> Unfortunately, XSLTProcessor is non-final, so if a user class extends
> this class and coincidentally already has a method with the same name
> but incompatible signature, then they would get a compile error.
>
> What do you think?
>
> Kind regards
> Niels
In context, I cannot imagine why someone would have a setMaxDepth() method with that name, since,
AIUI, they wouldn't be able to actually set the max depth. So I think the chances of there
being a conflict are extremely remote, and an acceptable risk.
This could be verified by doing a "top packages" scan using Nikita's script, which is
probably a good step anyway.
--Larry Garfield