|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-09-13 16:17 UTC] [email protected]
-Status: Open
+Status: Assigned
-Assigned To:
+Assigned To: bukka
[2016-09-13 16:17 UTC] [email protected]
[2016-09-13 17:15 UTC] [email protected]
[2016-09-13 17:15 UTC] [email protected]
-Status: Assigned
+Status: Closed
[2016-09-13 17:26 UTC] [email protected]
[2016-09-13 17:28 UTC] [email protected]
[2016-09-13 17:29 UTC] [email protected]
[2016-09-29 15:25 UTC] spam2 at rhsoft dot net
[2016-10-17 10:08 UTC] [email protected]
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Dec 31 03:00:01 2025 UTC |
Description: ------------ If the SNI_server_certs stream ssl option contains an invalid path, it causes segfault after the client connects. It is because the initializing loop is jumped off when error happens and keeps the sni_certs unitialized which causes later segfault when they are freed. Test script: --------------- $flags = STREAM_SERVER_BIND|STREAM_SERVER_LISTEN; $ctx = stream_context_create(['ssl' => [ 'local_cert' => __DIR__ . '/domain1.pem', 'SNI_server_certs' => [ "domain1.com" => __DIR__ . "/sni_server_domain1.pem", "domain2.com" => __DIR__ . "/unknown", ] ]]); $server = stream_socket_server('tls://127.0.0.1:64321', $errno, $errstr, $flags, $ctx); for ($i=0; $i < 3; $i++) { @stream_socket_accept($server, 3); } Expected result: ---------------- Warning: failed setting local cert chain file `%s'; file not found Actual result: -------------- segfault