On 08/26/13 21:53, Ruslan Zakirov wrote:
В 5.18 флаг taint ставится даже на числа (IV) и похоже убрать его можно
только через XS. По крайней мере $i = int($i) этот флаг не чистит.
А как вы получили IV сразу и с флагом, но без строкового представления?
my $x = oct ($ARGV[0]);
Dump($x);
На 5.14 тоже пишет
MG_TYPE = PERL_MAGIC_taint(t)
Почему с 5.10 до 5.16 код работал, а на 5.18 падает с ошибкой Insecure
dependency, буду смотреть. Видимо где то в другом месте разное поведение.
Это bug или feature? Если feature то вреда от неё больше чем пользы.
В 5.16 тоже самое. the only way to bypass the tainting mechanism is by
referencing subpatterns from a regular expression match.
Проверять результат int/oct через regexp это какой то костыль IMHO.
Если уж и делать проверку числа, то через > и <
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org