From 757facf6c184093734ddfd0c2f28e84bc9f9b6ee Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Wed, 19 Feb 2014 18:34:27 +0800 Subject: [PATCH] Fixed segfault in BEGIN/END SILENT --- Zend/zend_vm_def.h | 2 +- Zend/zend_vm_execute.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 58dcb48ce8..0a9d86490d 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -4676,7 +4676,7 @@ ZEND_VM_HANDLER(58, ZEND_END_SILENCE, TMP, ANY) EG(error_reporting_ini_entry)->value != EG(error_reporting_ini_entry)->orig_value)) { efree(EG(error_reporting_ini_entry)->value); } - EG(error_reporting_ini_entry)->value = Z_STRVAL(restored_error_reporting); + EG(error_reporting_ini_entry)->value = estrndup(Z_STRVAL(restored_error_reporting), Z_STRLEN(restored_error_reporting)); EG(error_reporting_ini_entry)->value_length = Z_STRLEN(restored_error_reporting); } else { zval_dtor(&restored_error_reporting); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index cd0395c6c6..7505189e51 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -8100,7 +8100,7 @@ static int ZEND_FASTCALL ZEND_END_SILENCE_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ EG(error_reporting_ini_entry)->value != EG(error_reporting_ini_entry)->orig_value)) { efree(EG(error_reporting_ini_entry)->value); } - EG(error_reporting_ini_entry)->value = Z_STRVAL(restored_error_reporting); + EG(error_reporting_ini_entry)->value = estrndup(Z_STRVAL(restored_error_reporting), Z_STRLEN(restored_error_reporting)); EG(error_reporting_ini_entry)->value_length = Z_STRLEN(restored_error_reporting); } else { zval_dtor(&restored_error_reporting); -- 2.50.1