Bug #73769 [Fbk->NoF]: Segfault in preg_match_all

From: Date: Sun, 08 Mar 2020 04:22:04 +0000
Subject: Bug #73769 [Fbk->NoF]: Segfault in preg_match_all
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-225942@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73769&edit=1 ID: 73769 Updated by: php-bugs@lists.php.net Reported by: mozer624 at gmail dot com Summary: Segfault in preg_match_all -Status: Feedback +Status: No Feedback Type: Bug Package: *Regular Expressions Operating System: macOS 10.12 PHP Version: 5.6.29 Assigned To: cmb Private report: N New Comment: No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Re-Opened". Thank you. Previous Comments: ------------------------------------------------------------------------ [2020-02-28 16:47:54] cmb@php.net I cannot reproduce the segfault with PHP 7.3. Can you reproduce it with any of the actively supported versions[1]? If so, please provide the version of libpcre (PCRE_VERSION), and also a backtrace[2]. [1] <https://www.php.net/supported-versions.php> [2] <http://bugs.php.net/bugs-generating-backtrace.php> ------------------------------------------------------------------------ [2016-12-17 02:28:55] mozer624 at gmail dot com Description: ------------ preg_match_all causes a Segmentation fault: 11. Test script: --------------- <?php $pattern = "/^(?P<file>.+?):(?P<line>.+?):(?P<char>.+?): (?P<severity>warning|error): (?P<message>.*) \[(?P<name>.+?)?\]\n(original=\[\[(?P<original>(.|\n)*?)\]\]\nreplacement=\[\[(?P<replacement>(.|\n)*?)\]\])?/m"; $output = <<<EOT x/x/x.m:520:-8549: error: Using arrayWithObjects:, use @[] instead [Array_With_Objects] original=[[[NSArray arrayWithObjects: [NSValue valueWithCGPoint:CGPointMake(1.02, 0.542)], [NSValue valueWithCGPoint:CGPointMake(1.73, 0.71)], [NSValue valueWithCGPoint:CGPointMake(2.44, 0.708)], [NSValue valueWithCGPoint:CGPointMake(3.24, 0.808)], [NSValue valueWithCGPoint:CGPointMake(3.71, 0.47)], [NSValue valueWithCGPoint:CGPointMake(4.23, 0.514)], [NSValue valueWithCGPoint:CGPointMake(4.8, 0.572)], [NSValue valueWithCGPoint:CGPointMake(5.3, 0.504)], [NSValue valueWithCGPoint:CGPointMake(6.08, 0.776)], [NSValue valueWithCGPoint:CGPointMake(6.7, 0.616)], [NSValue valueWithCGPoint:CGPointMake(7.23, 0.53)], [NSValue valueWithCGPoint:CGPointMake(7.77, 0.542)], [NSValue valueWithCGPoint:CGPointMake(8.35, 0.582)], [NSValue valueWithCGPoint:CGPointMake(9.01, 0.656)], [NSValue valueWithCGPoint:CGPointMake(9.66, 0.658)], [NSValue valueWithCGPoint:CGPointMake(10.3, 0.624)], [NSValue valueWithCGPoint:CGPointMake(11.2, 0.93)], [NSValue valueWithCGPoint:CGPointMake(11.9, 0.65)], [NSValue valueWithCGPoint:CGPointMake(12.4, 0.54)], [NSValue valueWithCGPoint:CGPointMake(13.1, 0.646)], [NSValue valueWithCGPoint:CGPointMake(13.7, 0.678)], [NSValue valueWithCGPoint:CGPointMake(14.2, 0.464)], [NSValue valueWithCGPoint:CGPointMake(14.8, 0.582)], [NSValue valueWithCGPoint:CGPointMake(15.3, 0.486)], [NSValue valueWithCGPoint:CGPointMake(15.7, 0.446)], [NSValue valueWithCGPoint:CGPointMake(16.4, 0.656)], [NSValue valueWithCGPoint:CGPointMake(16.8, 0.472)], [NSValue valueWithCGPoint:CGPointMake(17.5, 0.634)], [NSValue valueWithCGPoint:CGPointMake(18.0, 0.524)], [NSValue valueWithCGPoint:CGPointMake(18.7, 0.742)], [NSValue valueWithCGPoint:CGPointMake(19.4, 0.682)], [NSValue valueWithCGPoint:CGPointMake(19.9, 0.498)], [NSValue valueWithCGPoint:CGPointMake(20.4, 0.528)], [NSValue valueWithCGPoint:CGPointMake(21.2, 0.776)], [NSValue valueWithCGPoint:CGPointMake(21.7, 0.51)], [NSValue valueWithCGPoint:CGPointMake(22.2, 0.464)], [NSValue valueWithCGPoint:CGPointMake(22.7, 0.524)], [NSValue valueWithCGPoint:CGPointMake(23.3, 0.592)], [NSValue valueWithCGPoint:CGPointMake(23.8, 0.536)], [NSValue valueWithCGPoint:CGPointMake(24.4, 0.558)], [NSValue valueWithCGPoint:CGPointMake(25.2, 0.838)], [NSValue valueWithCGPoint:CGPointMake(25.8, 0.556)], [NSValue valueWithCGPoint:CGPointMake(26.4, 0.55)], [NSValue valueWithCGPoint:CGPointMake(27.0, 0.672)], [NSValue valueWithCGPoint:CGPointMake(27.8, 0.766)], [NSValue valueWithCGPoint:CGPointMake(28.4, 0.652)], [NSValue valueWithCGPoint:CGPointMake(29.1, 0.61)], [NSValue valueWithCGPoint:CGPointMake(30.2, 1.19)], [NSValue valueWithCGPoint:CGPointMake(30.8, 0.598)], [NSValue valueWithCGPoint:CGPointMake(31.5, 0.696)], [NSValue valueWithCGPoint:CGPointMake(32.0, 0.428)], [NSValue valueWithCGPoint:CGPointMake(32.6, 0.632)], [NSValue valueWithCGPoint:CGPointMake(33.4, 0.766)], [NSValue valueWithCGPoint:CGPointMake(34.2, 0.838)], [NSValue valueWithCGPoint:CGPointMake(34.9, 0.728)], [NSValue valueWithCGPoint:CGPointMake(35.5, 0.608)], [NSValue valueWithCGPoint:CGPointMake(36.0, 0.44)], [NSValue valueWithCGPoint:CGPointMake(36.8, 0.854)], [NSValue valueWithCGPoint:CGPointMake(37.3, 0.476)], [NSValue valueWithCGPoint:CGPointMake(38.0, 0.686)], [NSValue valueWithCGPoint:CGPointMake(38.5, 0.482)], [NSValue valueWithCGPoint:CGPointMake(39.0, 0.574)], [NSValue valueWithCGPoint:CGPointMake(39.7, 0.664)], [NSValue valueWithCGPoint:CGPointMake(40.2, 0.504)], [NSValue valueWithCGPoint:CGPointMake(41.1, 0.878)], [NSValue valueWithCGPoint:CGPointMake(41.6, 0.552)], [NSValue valueWithCGPoint:CGPointMake(42.5, 0.804)], [NSValue valueWithCGPoint:CGPointMake(43.0, 0.536)], [NSValue valueWithCGPoint:CGPointMake(43.5, 0.486)], [NSValue valueWithCGPoint:CGPointMake(44.1, 0.586)], [NSValue valueWithCGPoint:CGPointMake(44.6, 0.494)], [NSValue valueWithCGPoint:CGPointMake(45.4, 0.892)], [NSValue valueWithCGPoint:CGPointMake(46.0, 0.532)], [NSValue valueWithCGPoint:CGPointMake(46.5, 0.572)], [NSValue valueWithCGPoint:CGPointMake(47.1, 0.592)], [NSValue valueWithCGPoint:CGPointMake(47.8, 0.684)], [NSValue valueWithCGPoint:CGPointMake(48.4, 0.58)], [NSValue valueWithCGPoint:CGPointMake(48.9, 0.474)], [NSValue valueWithCGPoint:CGPointMake(49.5, 0.648)], [NSValue valueWithCGPoint:CGPointMake(50.1, 0.554)], [NSValue valueWithCGPoint:CGPointMake(50.6, 0.476)], [NSValue valueWithCGPoint:CGPointMake(51.2, 0.602)], [NSValue valueWithCGPoint:CGPointMake(51.8, 0.686)], [NSValue valueWithCGPoint:CGPointMake(52.4, 0.6)], [NSValue valueWithCGPoint:CGPointMake(53.1, 0.632)], [NSValue valueWithCGPoint:CGPointMake(53.6, 0.556)], [NSValue valueWithCGPoint:CGPointMake(54.1, 0.514)], [NSValue valueWithCGPoint:CGPointMake(54.8, 0.62)], [NSValue valueWithCGPoint:CGPointMake(55.3, 0.58)], [NSValue valueWithCGPoint:CGPointMake(56.0, 0.642)], [NSValue valueWithCGPoint:CGPointMake(56.7, 0.742)], [NSValue valueWithCGPoint:CGPointMake(57.5, 0.76)], [NSValue valueWithCGPoint:CGPointMake(58.1, 0.57)], [NSValue valueWithCGPoint:CGPointMake(58.5, 0.478)], [NSValue valueWithCGPoint:CGPointMake(59.2, 0.652)], [NSValue valueWithCGPoint:CGPointMake(59.7, 0.558)], nil]]] replacement=[[@[ [NSValue valueWithCGPoint:CGPointMake(1.02, 0.542)], [NSValue valueWithCGPoint:CGPointMake(1.73, 0.71)], [NSValue valueWithCGPoint:CGPointMake(2.44, 0.708)], [NSValue valueWithCGPoint:CGPointMake(3.24, 0.808)], [NSValue valueWithCGPoint:CGPointMake(3.71, 0.47)], [NSValue valueWithCGPoint:CGPointMake(4.23, 0.514)], [NSValue valueWithCGPoint:CGPointMake(4.8, 0.572)], [NSValue valueWithCGPoint:CGPointMake(5.3, 0.504)], [NSValue valueWithCGPoint:CGPointMake(6.08, 0.776)], [NSValue valueWithCGPoint:CGPointMake(6.7, 0.616)], [NSValue valueWithCGPoint:CGPointMake(7.23, 0.53)], [NSValue valueWithCGPoint:CGPointMake(7.77, 0.542)], [NSValue valueWithCGPoint:CGPointMake(8.35, 0.582)], [NSValue valueWithCGPoint:CGPointMake(9.01, 0.656)], [NSValue valueWithCGPoint:CGPointMake(9.66, 0.658)], [NSValue valueWithCGPoint:CGPointMake(10.3, 0.624)], [NSValue valueWithCGPoint:CGPointMake(11.2, 0.93)], [NSValue valueWithCGPoint:CGPointMake(11.9, 0.65)], [NSValue valueWithCGPoint:CGPointMake(12.4, 0.54)], [NSValue valueWithCGPoint:CGPointMake(13.1, 0.646)], [NSValue valueWithCGPoint:CGPointMake(13.7, 0.678)], [NSValue valueWithCGPoint:CGPointMake(14.2, 0.464)], [NSValue valueWithCGPoint:CGPointMake(14.8, 0.582)], [NSValue valueWithCGPoint:CGPointMake(15.3, 0.486)], [NSValue valueWithCGPoint:CGPointMake(15.7, 0.446)], [NSValue valueWithCGPoint:CGPointMake(16.4, 0.656)], [NSValue valueWithCGPoint:CGPointMake(16.8, 0.472)], [NSValue valueWithCGPoint:CGPointMake(17.5, 0.634)], [NSValue valueWithCGPoint:CGPointMake(18.0, 0.524)], [NSValue valueWithCGPoint:CGPointMake(18.7, 0.742)], [NSValue valueWithCGPoint:CGPointMake(19.4, 0.682)], [NSValue valueWithCGPoint:CGPointMake(19.9, 0.498)], [NSValue valueWithCGPoint:CGPointMake(20.4, 0.528)], [NSValue valueWithCGPoint:CGPointMake(21.2, 0.776)], [NSValue valueWithCGPoint:CGPointMake(21.7, 0.51)], [NSValue valueWithCGPoint:CGPointMake(22.2, 0.464)], [NSValue valueWithCGPoint:CGPointMake(22.7, 0.524)], [NSValue valueWithCGPoint:CGPointMake(23.3, 0.592)], [NSValue valueWithCGPoint:CGPointMake(23.8, 0.536)], [NSValue valueWithCGPoint:CGPointMake(24.4, 0.558)], [NSValue valueWithCGPoint:CGPointMake(25.2, 0.838)], [NSValue valueWithCGPoint:CGPointMake(25.8, 0.556)], [NSValue valueWithCGPoint:CGPointMake(26.4, 0.55)], [NSValue valueWithCGPoint:CGPointMake(27.0, 0.672)], [NSValue valueWithCGPoint:CGPointMake(27.8, 0.766)], [NSValue valueWithCGPoint:CGPointMake(28.4, 0.652)], [NSValue valueWithCGPoint:CGPointMake(29.1, 0.61)], [NSValue valueWithCGPoint:CGPointMake(30.2, 1.19)], [NSValue valueWithCGPoint:CGPointMake(30.8, 0.598)], [NSValue valueWithCGPoint:CGPointMake(31.5, 0.696)], [NSValue valueWithCGPoint:CGPointMake(32.0, 0.428)], [NSValue valueWithCGPoint:CGPointMake(32.6, 0.632)], [NSValue valueWithCGPoint:CGPointMake(33.4, 0.766)], [NSValue valueWithCGPoint:CGPointMake(34.2, 0.838)], [NSValue valueWithCGPoint:CGPointMake(34.9, 0.728)], [NSValue valueWithCGPoint:CGPointMake(35.5, 0.608)], [NSValue valueWithCGPoint:CGPointMake(36.0, 0.44)], [NSValue valueWithCGPoint:CGPointMake(36.8, 0.854)], [NSValue valueWithCGPoint:CGPointMake(37.3, 0.476)], [NSValue valueWithCGPoint:CGPointMake(38.0, 0.686)], [NSValue valueWithCGPoint:CGPointMake(38.5, 0.482)], [NSValue valueWithCGPoint:CGPointMake(39.0, 0.574)], [NSValue valueWithCGPoint:CGPointMake(39.7, 0.664)], [NSValue valueWithCGPoint:CGPointMake(40.2, 0.504)], [NSValue valueWithCGPoint:CGPointMake(41.1, 0.878)], [NSValue valueWithCGPoint:CGPointMake(41.6, 0.552)], [NSValue valueWithCGPoint:CGPointMake(42.5, 0.804)], [NSValue valueWithCGPoint:CGPointMake(43.0, 0.536)], [NSValue valueWithCGPoint:CGPointMake(43.5, 0.486)], [NSValue valueWithCGPoint:CGPointMake(44.1, 0.586)], [NSValue valueWithCGPoint:CGPointMake(44.6, 0.494)], [NSValue valueWithCGPoint:CGPointMake(45.4, 0.892)], [NSValue valueWithCGPoint:CGPointMake(46.0, 0.532)], [NSValue valueWithCGPoint:CGPointMake(46.5, 0.572)], [NSValue valueWithCGPoint:CGPointMake(47.1, 0.592)], [NSValue valueWithCGPoint:CGPointMake(47.8, 0.684)], [NSValue valueWithCGPoint:CGPointMake(48.4, 0.58)], [NSValue valueWithCGPoint:CGPointMake(48.9, 0.474)], [NSValue valueWithCGPoint:CGPointMake(49.5, 0.648)], [NSValue valueWithCGPoint:CGPointMake(50.1, 0.554)], [NSValue valueWithCGPoint:CGPointMake(50.6, 0.476)], [NSValue valueWithCGPoint:CGPointMake(51.2, 0.602)], [NSValue valueWithCGPoint:CGPointMake(51.8, 0.686)], [NSValue valueWithCGPoint:CGPointMake(52.4, 0.6)], [NSValue valueWithCGPoint:CGPointMake(53.1, 0.632)], [NSValue valueWithCGPoint:CGPointMake(53.6, 0.556)], [NSValue valueWithCGPoint:CGPointMake(54.1, 0.514)], [NSValue valueWithCGPoint:CGPointMake(54.8, 0.62)], [NSValue valueWithCGPoint:CGPointMake(55.3, 0.58)], [NSValue valueWithCGPoint:CGPointMake(56.0, 0.642)], [NSValue valueWithCGPoint:CGPointMake(56.7, 0.742)], [NSValue valueWithCGPoint:CGPointMake(57.5, 0.76)], [NSValue valueWithCGPoint:CGPointMake(58.1, 0.57)], [NSValue valueWithCGPoint:CGPointMake(58.5, 0.478)], [NSValue valueWithCGPoint:CGPointMake(59.2, 0.652)], [NSValue valueWithCGPoint:CGPointMake(59.7, 0.558)]]]] EOT; $matches = null; var_dump(preg_match_all($pattern, $output, $matches, PREG_SET_ORDER)); var_dump($matches); ?> Expected result: ---------------- No seg fault and actually a match with the regex. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=73769&edit=1

« previous php.bugs (#225942) next »