The function parse_form() flags invalid recursions and may not detect
recursions two cases apply:
* Type juggling. A form named as '1.000' will be flagged by parent such as '1'.
* Casing and localization. The array stack can contain the same form with
different names. This is due to name being used in a SQL query, but used
elsewhere in PHP as defined. PHP and SQL's equal operator do not agree about
things. E.g. calling 'Hippo' and 'hippo' creates two items to the stack.
Results in undetected recursion. This is a minor flaw and would require
reconstruction of the code, or ugly hackish solutions such extra referencing
arguments, so might ignore and leave it like that.
Todo;
* Make sure the form fetching, parsing and stack checks compare values as
strictly as strings. Cast all user given values to strings and use identical
operator instead of equal.
Original issue reported on code.google.com by jukka.m.svahn on 15 Feb 2013 at 2:11
Original issue reported on code.google.com by
jukka.m.svahn
on 15 Feb 2013 at 2:11