|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2017-05-24 11:12 UTC] jurigag at gmail dot com
Description:
------------
When extending internal class which has defined static property with null value and accessing this static property in C code using zend_read_static_property there is value returned as &NULL in C code causing some comparisons to fail. Though value in php code of this static property is correctly returned as NULL.
This also happens for php 7.1 as well.
Test script:
---------------
In class init:
zend_declare_property_null(test3_test_ce, sizeof("someNull")-1, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC TSRMLS_CC);
Access and dump it somwhere(keep in mind you must extends class in php first):
zval *tmp = zend_read_static_property(ce, sizeof("someNull")-1, len, (zend_bool) ZEND_FETCH_CLASS_SILENT); // here will be returned &NULL
php_var_dump(tmp, 1); // var dumps &NULL
if (Z_TYPE_P(tmp) == IS_NULL) // false
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 20:00:01 2025 UTC |
zval *tmp = zend_read_static_property(ce, "someNull", sizeof("queryString")-1, (zend_bool) ZEND_FETCH_CLASS_SILENT);