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

Akzhan Abdulin akzhan.abdulin на gmail.com
Ср Ноя 26 13:33:26 PST 2014


Мне кажется, это надо писать автору, нет?)

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
>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20141127/6cd3e2a3/attachment.html>


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