Bug #79783 [PATCH]: Segfault in php_str_replace_common
| From: | maxsem.wiki@gmail.com | Date: | Sun, 05 Jul 2020 08:41:03 +0000 |
| Subject: | Bug #79783 [PATCH]: Segfault in php_str_replace_common | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-227828@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=79783&edit=1
ID: 79783
Patch added by: maxsem.wiki@gmail.com
Reported by: changochen1 at gmail dot com
Summary: Segfault in php_str_replace_common
Status: Open
Type: Bug
Package: Scripting Engine problem
PHP Version: 8.0Git-2020-07-04 (Git)
Block user comment: N
Private report: N
New Comment:
The following pull request has been associated:
Patch Name: Fix bug #79783: segfault in str_replace()
On GitHub: https://github.com/php/php-src/pull/5811
Patch: https://github.com/php/php-src/pull/5811.patch
Previous Comments:
------------------------------------------------------------------------
[2020-07-04 02:06:31] changochen1 at gmail dot com
Description:
------------
In release build, it triggers an segfault:
---
MemorySanitizer:DEADLYSIGNAL
==160146==ERROR: MemorySanitizer: SEGV on unknown address 0x000000000018 (pc 0x000000f8da84 bp
0x000000000000 sp 0x7ffe10b2de00 T160146)
==160146==The signal is caused by a READ memory access.
==160146==Hint: address points to the zero page.
#0 0xf8da83 in php_str_replace_common /home/yongheng/php_clean/ext/standard/string.c:4379:3
#1 0x1573b32 in ZEND_DO_ICALL_SPEC_RETVAL_UNUSED_HANDLER
/home/yongheng/php_clean/Zend/zend_vm_execute.h:1236:2
#2 0x13ec04f in execute_ex /home/yongheng/php_clean/Zend/zend_vm_execute.h:51852:7
#3 0x13ec844 in zend_execute /home/yongheng/php_clean/Zend/zend_vm_execute.h:56146:2
#4 0x1337c58 in zend_execute_scripts /home/yongheng/php_clean/Zend/zend.c:1667:4
#5 0x10c1cd7 in php_execute_script /home/yongheng/php_clean/main/main.c:2579:14
#6 0x171abf1 in do_cli /home/yongheng/php_clean/sapi/cli/php_cli.c:958:5
#7 0x1716fcf in main /home/yongheng/php_clean/sapi/cli/php_cli.c:1357:18
#8 0x7f78981f4b96 in __libc_start_main
/build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
#9 0x440309 in _start (/home/yongheng/php_clean/asan/sapi/cli/php+0x440309)
MemorySanitizer can not provide additional info.
SUMMARY: MemorySanitizer: SEGV /home/yongheng/php_clean/ext/standard/string.c:4379:3 in
php_str_replace_common
==160146==ABORTING
---
In debug build, it triggers an assertion:
---
/home/yongheng/php_clean/ext/standard/string.c:4379: void php_str_replace_common(zend_execute_data
*, zval *, int): Assertion `(zval_get_type(&(*(zcount))) == 10)' failed.
---
Test script:
---------------
<?
str_replace ( array () , 1.500000 , array () , DEFINED ( 678.000000 ) ) ;
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=79783&edit=1