com php-src: Fixed segfault in BEGIN/END SILENT: Zend/zend_vm _def.h Zend/zend_vm_execute.h

From: Date: Wed, 19 Feb 2014 10:34:27 +0000
Subject: com php-src: Fixed segfault in BEGIN/END SILENT: Zend/zend_vm _def.h Zend/zend_vm_execute.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-78052@lists.php.net to get a copy of this message
Commit: 757facf6c184093734ddfd0c2f28e84bc9f9b6ee Author: Xinchen Hui <laruence@gmail.com> Wed, 19 Feb 2014 18:34:27 +0800 Parents: c1c4d2681782772d41ba68f32eb71baa907e10de Branches: phpng Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=757facf6c184093734ddfd0c2f28e84bc9f9b6ee Log: Fixed segfault in BEGIN/END SILENT Changed paths: M Zend/zend_vm_def.h M Zend/zend_vm_execute.h Diff: diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 58dcb48..0a9d864 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 cd0395c..7505189 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);

« previous php.cvs (#78052) next »