|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2017-05-27 09:03 UTC] laruence@php.net
-Status: Open
+Status: Not a bug
[2017-05-27 09:03 UTC] laruence@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 21:00:01 2025 UTC |
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, "someNull", sizeof("someNull")-1, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC TSRMLS_CC); Access and dump it somewhere(in method for example, keep in mind you must extends class in php first): zval *tmp = zend_read_static_property(ce, "someNull", sizeof("queryString")-1, (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