|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
Patchesbug65470 (last revision 2013-08-18 05:05 UTC by sixd@php.net)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
[2013-08-18 04:40 UTC] sixd@php.net
-Assigned To:
+Assigned To: sixd
[2013-08-18 04:41 UTC] sixd@php.net
[2013-08-18 05:05 UTC] sixd@php.net
[2013-08-18 06:02 UTC] sixd@php.net
-Status: Assigned
+Status: Open
-Assigned To: sixd
+Assigned To:
[2013-08-18 06:02 UTC] sixd@php.net
[2013-08-19 00:23 UTC] stas@php.net
[2013-08-19 00:23 UTC] stas@php.net
-Status: Open
+Status: Closed
[2014-10-07 23:17 UTC] stas@php.net
[2014-10-07 23:28 UTC] stas@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 22:00:01 2025 UTC |
Description: ------------ A segmentation fault can occur in zend_error() with --enable-dtrace. The zend_vspprintf() call in the DTRACE_ERROR_ENABLED() block leaves args undefined: "If ap is passed to a function that uses va_arg(ap,type) then the value of ap is undefined after the return of that function." When args is used again later in zend_error(), a seg fault can occur. Test script: --------------- As root: ------------------- # dtrace -Z -s error.d dtrace: script 'error.d' matched 0 probes CPU ID FUNCTION:NAME 0 6 zend_error:error PHP error -------------------- As a normal user: -------------------- $ php error.php Segmentation fault (core dumped) -------------------- Where error.d is: php*:::error { printf("PHP error\n"); } and error.php is: <?php trigger_error('This is an error', E_USER_ERROR); ?>