{"push_id":571735324,"size":5,"distinct_size":5,"ref":"refs/heads/master","head":"bf0cbc162d62301e9a64ddef4a9bc47b023dc05b","before":"aa3dfa7e07f11ba0e65319b35acd449d4f7b04af","commits":[{"sha":"89f3fef3154432304ec841e9f01d88c9ba2579e0","author":{"email":"08086ed815f0bf1a8c9f03528014a52081acb31a@cpan.org","name":"Nick Logan"},"message":"work around malformed utf-8 in test; s/decode/unpack/\n\n.decode defaults to utf-8, and I started getting a\nmalformed utf-8 error. .unpack('A*') or decode('latin-1')\nseem to be the ok solutions for now.\n\nMalformed UTF-8 at line 1 col 210\n  in method decode at src/gen/m-CORE.setting:6314\n  in method read at /home/nickl/perl6/openssl/lib/OpenSSL.pm6:178\n  in block <unit> at t/02-socket.t:15","distinct":true,"url":"https://api.github.com/repos/retupmoca/openssl/commits/89f3fef3154432304ec841e9f01d88c9ba2579e0"},{"sha":"e09debc2571ae23551dbca6f8b464754458f48aa","author":{"email":"ee925f1403b85fb359d34d54c2c32879bdc35cde@sergot.pl","name":"Filip Sergot"},"message":"Merge pull request #8 from ugexe/decode-malformed-utf8\n\nwork around malformed utf-8 in test; s/decode/unpack/","distinct":true,"url":"https://api.github.com/repos/retupmoca/openssl/commits/e09debc2571ae23551dbca6f8b464754458f48aa"},{"sha":"8cd207c82e8c02ed6edd4714adb8f408c60d5a22","author":{"email":"08086ed815f0bf1a8c9f03528014a52081acb31a@cpan.org","name":"Nick Logan"},"message":"Explicitly pass a buffer to ERR_error_string\n\nIt seems that ERR_error_string will randomly segfault when it is called:\n\n    # ok - port 443\n    nickl@localhost:~/perl6/io-socket-ssl$ perl6 -Ilib -e 'use IO::Socket::SSL; my $ssl = IO::Socket::SSL.new(:host<github.com>, :port(443));'\n\n    # not ok - port 80\n    # error is expected\n    nickl@localhost:~/perl6/io-socket-ssl$ perl6 -Ilib -e 'use IO::Socket::SSL; my $ssl = IO::Socket::SSL.new(:host<github.com>, :port(80));'\n    err code: 336130315\n    error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number\n\n    # not ok - port 80\n    # exactly the same command as before, but this time it segfaults\n    nickl@localhost:~/perl6/io-socket-ssl$ perl6 -Ilib -e 'use IO::Socket::SSL; my $ssl = IO::Socket::SSL.new(:host<google.com>, :port(80));'\n    err code: 336130315\n    Segmentation fault\n\nThis behavior can be averted by putting some statements (like `say 1; say 1; say 1;`) between:\n\n    my $e = OpenSSL::ERR::ERR_get_error();\n    loop {\n        # say 1;\n        # say 1;\n        # say 1;\n\n        # ...\n\n        # or you can put the statements outside loop\n        # as long as they are inbetween $e =\n\n        # random segfault unless `say` comments above uncommented\n        say OpenSSL::ERR::ERR_error_string($e);\n    }\n\nThe less statements between the two, the more often the segfault will occur.\n\nAccording to to the C header definition for ERR_error_string, it can accept a 'char *ret' argument which\nwas not being passed. I'd guess it this problem has something to do with nativecall and how buffer/char is\nused by ERR_error_string_n().\n\nIn any case, this PR appears to prevent this particular segfault from reoccuring for me. But I can't explain\nexactly why.","distinct":true,"url":"https://api.github.com/repos/retupmoca/openssl/commits/8cd207c82e8c02ed6edd4714adb8f408c60d5a22"},{"sha":"0e1b8d3b4dcfad79de1e94312e4b60f6ca0316e6","author":{"email":"ef5e0c250a7d334000bda9531b6383e9e75a58c4@gmail.com","name":"ugexe"},"message":"Merge pull request #9 from ugexe/fix-error-strings-segfault\n\nExplicitly pass a buffer to ERR_error_string [fix segfault]","distinct":true,"url":"https://api.github.com/repos/retupmoca/openssl/commits/0e1b8d3b4dcfad79de1e94312e4b60f6ca0316e6"},{"sha":"bf0cbc162d62301e9a64ddef4a9bc47b023dc05b","author":{"email":"02e0a999c50b1f88df7a8f5a04e1b76b35ea6a88@egeler.us","name":"Andrew Egeler"},"message":"Merge branch 'master' of https://github.com/sergot/openssl","distinct":true,"url":"https://api.github.com/repos/retupmoca/openssl/commits/bf0cbc162d62301e9a64ddef4a9bc47b023dc05b"}]}