Bug #78114 [Opn->Ver]: Segmentation fault when calling sodium_* functions from eval

From: Date: Thu, 06 Jun 2019 07:33:32 +0000
Subject: Bug #78114 [Opn->Ver]: Segmentation fault when calling sodium_* functions from eval
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-221154@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78114&edit=1 ID: 78114 Updated by: cmb@php.net Reported by: alex at buayacorp dot com Summary: Segmentation fault when calling sodium_* functions from eval -Status: Open +Status: Verified Type: Bug Package: Reproducible crash Operating System: Debian Stretch PHP Version: 7.3.6 Block user comment: N Private report: N New Comment: Thanks for reporting! Previous Comments: ------------------------------------------------------------------------ [2019-06-05 19:30:32] alex at buayacorp dot com Here's the backtrace with a PHP 7.3 cli compiled with ./configure --disable-all --enable-debug --with-sodium alex@atoq-builder:~$ gdb php-src/sapi/cli/php GNU gdb (Debian 7.12-6) 7.12.0.20161007-git ... Reading symbols from php-src/sapi/cli/php...done. (gdb) run -r "eval('sodium_bin2hex();');" Starting program: /home/alex/php-src/sapi/cli/php -r "eval('sodium_bin2hex();');" [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x00005555558fc892 in i_zval_ptr_dtor (zval_ptr=0x0, __zend_filename=0x555555afc128 "/home/alex/php-src/Zend/zend_variables.c", __zend_lineno=111) at /home/alex/php-src/Zend/zend_variables.h:41 41 if (Z_REFCOUNTED_P(zval_ptr)) { (gdb) bt #0 0x00005555558fc892 in i_zval_ptr_dtor (zval_ptr=0x0, __zend_filename=0x555555afc128 "/home/alex/php-src/Zend/zend_variables.c", __zend_lineno=111) at /home/alex/php-src/Zend/zend_variables.h:41 #1 0x00005555558fcb2b in zval_ptr_dtor (zval_ptr=0x0) at /home/alex/php-src/Zend/zend_variables.c:111 #2 0x0000555555743397 in sodium_remove_param_values_from_backtrace (obj=0x7ffff667c000) at /home/alex/php-src/ext/sodium/libsodium.c:390 #3 0x0000555555748b86 in zif_sodium_bin2hex (execute_data=0x7ffff661e0f0, return_value=0x7fffffffcc60) at /home/alex/php-src/ext/sodium/libsodium.c:2678 #4 0x00005555559624b9 in ZEND_DO_ICALL_SPEC_RETVAL_UNUSED_HANDLER () at /home/alex/php-src/Zend/zend_vm_execute.h:645 #5 0x00005555559c9803 in execute_ex (ex=0x7ffff661e030) at /home/alex/php-src/Zend/zend_vm_execute.h:55461 #6 0x00005555559cee1e in zend_execute (op_array=0x7ffff6678300, return_value=0x7fffffffcf60) at /home/alex/php-src/Zend/zend_vm_execute.h:60881 #7 0x00005555558ea432 in zend_eval_stringl (str=0x555555e58ae0 "eval('sodium_bin2hex();');", str_len=26, retval_ptr=0x0, string_name=0x555555b09bfc "Command line code") at /home/alex/php-src/Zend/zend_execute_API.c:1018 #8 0x00005555558ea5cd in zend_eval_stringl_ex (str=0x555555e58ae0 "eval('sodium_bin2hex();');", str_len=26, retval_ptr=0x0, string_name=0x555555b09bfc "Command line code", handle_exceptions=1) at /home/alex/php-src/Zend/zend_execute_API.c:1059 #9 0x00005555558ea645 in zend_eval_string_ex (str=0x555555e58ae0 "eval('sodium_bin2hex();');", retval_ptr=0x0, string_name=0x555555b09bfc "Command line code", handle_exceptions=1) at /home/alex/php-src/Zend/zend_execute_API.c:1070 #10 0x00005555559d1908 in do_cli (argc=3, argv=0x555555e58a60) at /home/alex/php-src/sapi/cli/php_cli.c:1028 #11 0x00005555559d26c8 in main (argc=3, argv=0x555555e58a60) at /home/alex/php-src/sapi/cli/php_cli.c:1389 ------------------------------------------------------------------------ [2019-06-05 18:22:46] alex at buayacorp dot com Description: ------------ When calling sodium_* functions that throw exceptions in an eval statement, a script running in PHP 7.3 segfaults. See https://3v4l.org/4BGMP Test script: --------------- <?php eval('sodium_bin2hex();'); Expected result: ---------------- A PHP fatal error Actual result: -------------- $ php -r "eval('sodium_bin2hex();');";echo $? Segmentation fault 139 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=78114&edit=1

« previous php.bugs (#221154) next »