File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Bug #77494 (Disabling class causes segfault on member access)
3
+ --SKIPIF--
4
+ <?php if (!extension_loaded ("curl " )) exit ("skip curl extension not loaded " ); ?>
5
+ --INI--
6
+ disable_classes=CURLFile
7
+ --FILE--
8
+ <?php
9
+ $ a = new CURLFile ();
10
+ var_dump ($ a ->name );
11
+ ?>
12
+ --EXPECTF--
13
+ Warning: CURLFile() has been disabled for security reasons in %sbug77494.php on line 2
14
+
15
+ Notice: Undefined property: CURLFile::$name in %sbug77494.php on line 3
16
+ NULL
Original file line number Diff line number Diff line change @@ -2773,6 +2773,17 @@ static zend_object *display_disabled_class(zend_class_entry *class_type) /* {{{
2773
2773
zend_object * intern ;
2774
2774
2775
2775
intern = zend_objects_new (class_type );
2776
+
2777
+ /* Initialize default properties */
2778
+ if (EXPECTED (class_type -> default_properties_count != 0 )) {
2779
+ zval * p = intern -> properties_table ;
2780
+ zval * end = p + class_type -> default_properties_count ;
2781
+ do {
2782
+ ZVAL_UNDEF (p );
2783
+ p ++ ;
2784
+ } while (p != end );
2785
+ }
2786
+
2776
2787
zend_error (E_WARNING , "%s() has been disabled for security reasons" , ZSTR_VAL (class_type -> name ));
2777
2788
return intern ;
2778
2789
}
You can’t perform that action at this time.
0 commit comments