[Moscow.pm] Баг в JSON::XS?

Вадим Власов scripter.vrn на gmail.com
Ср Ноя 26 15:40:11 PST 2014


Ну и поделитесь, где еще засады )

27 ноября 2014 г., 2:13 пользователь Sergey Aleynikov <
sergey.aleynikov на gmail.com> написал:

> Добрый день,
>
> Что именно и когда ответит Леман - непредсказуемо) Я нашел, как
> минимум, еще два  места, где модулю сносит стек. Прислать патч, или
> попробуете сначала с ним списаться?
>
> Best regards,
> Sergey Aleynikov
>
>
> 2014-11-26 20:01 GMT+03:00 Вадим Власов <scripter.vrn на gmail.com>:
> > Исследуя новый сериализатор в JSON::XS наткнулся:
> >
> > $ echo 'use strict;
> > use warnings;
> > use feature "say";
> >
> > use JSON::XS;
> > my $j=JSON::XS->new->allow_tags;
> >
> > say "JSON::XS: $JSON::XS::VERSION";
> > say "Types::Serialiser: $Types::Serialiser::VERSION";
> >
> > my $t = $j->encode( Foo->new );
> > say $t;
> >
> > my @t = $j->encode( Foo->new );
> >
> > package Foo;
> > sub new { bless {}, $_[0]; }
> > sub FREEZE { ( 123, 456 ); }' | perl
> > JSON::XS: 3.01
> > Types::Serialiser: 1.0
> > ("Foo")[123,456]
> > panic: attempt to copy freed scalar c37a18 to c37a00 at - line 14.
> >
> > $ perl -MJSON::XS -wE 'say JSON::XS->new->allow_tags->encode( bless {},
> Foo
> > ); package Foo; sub FREEZE{ return 123 }'
> > Use of uninitialized value in say at -e line 1.
> > ("Foo")[123]
> >
> > $ perl -MJSON::XS -wE 'say scalar( JSON::XS->new->allow_tags->encode(
> bless
> > {}, Foo )); package Foo; sub FREEZE{ return 123 }'
> > ("Foo")[123]
> >
> > Проверили на разных машинах и на разных версиях perl-а - одно и то же.
> >
> > --
> >   С уважением,
> >   Вадим Власов
> >   т.: +7 (916) 424-00-72
> >
> > --
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
> >
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
  С уважением,
  Вадим Власов
  т.: +7 (916) 424-00-72
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20141127/f664f887/attachment.html>


Подробная информация о списке рассылки Moscow-pm