{"author_url":"https://blog.hatena.ne.jp/gfx/","provider_name":"Hatena Blog","author_name":"gfx","title":"eval \"use $module\" in Perl_call_sv() could segmentation faults","blog_url":"https://gfx.hatenadiary.org/","description":"Data::Util\u306emethod modifiers\u304c\u843d\u3061\u308b\u4ef6\u306f\uff0cPerl\u30b3\u30a2\u306e\u30d0\u30b0\u3067\u3042\u308b\u3088\u3046\u3060*1\u3002perl\u304cPerl_call_sv()\u3067\u30b5\u30d6\u30eb\u30fc\u30c1\u30f3\u3092\u547c\u3073\u51fa\u3059\u3068\u304d\u306b\uff0c\u305d\u306e\u30b5\u30d6\u30eb\u30fc\u30c1\u30f3\u304c\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6\u3092\u542b\u3093\u3060eval()\u3092\u5b9f\u884c\u3057\uff0c\u305d\u306euse\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6\u304c\u4f8b\u5916\u3092\u653e\u51fa\u3059\u308b\u3068*2\uff0csetjmp(3)\u304cSEGV\u3092\u8d77\u3053\u3057\u305f\u308a\u9ed9\u3063\u3066\u843d\u3061\u305f\u308a\u3059\u308b\u3088\u3046\u3060\u3002 \u3053\u306e\u554f\u984c\u306fPerl_call_sv()\u3092\u4f7f\u3063\u3066\u3044\u308bXS\u30b3\u30fc\u30c9\u3067\u8d77\u304d\u3084\u3059\u3044\u304c\uff0c\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3067\u793a\u3059\u3088\u3046\u306bPure Perl\u3067\u3082\u767a\u73fe\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3002\u518d\u73fe\u30b3\u30fc\u30c9\uff1a #!perl -w use strict; use Test::More tests =>\u2026","version":"1.0","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgfx.hatenadiary.org%2Fentry%2F20091021%2F1256099595\" title=\"eval &quot;use $module&quot; in Perl_call_sv() could segmentation faults - Islands in the byte stream (legacy)\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","height":"190","published":"2009-10-21 13:33:15","url":"https://gfx.hatenadiary.org/entry/20091021/1256099595","type":"rich","provider_url":"https://hatena.blog","categories":["Perl"],"width":"100%","image_url":null,"blog_title":"Islands in the byte stream (legacy)"}