Skip to content

Commit 02a73c0

Browse files
committed
Forbid properties on opaque objects
1 parent 26f5d66 commit 02a73c0

File tree

9 files changed

+10
-13
lines changed

9 files changed

+10
-13
lines changed

Zend/zend_weakrefs.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,6 @@ static void zend_weakref_free(zend_object *zo) {
234234
zend_object_std_dtor(&wr->std);
235235
}
236236

237-
#define zend_weakref_unsupported(object, thing) \
238-
zend_throw_error(NULL, "%s objects do not support " thing, ZSTR_VAL(object->ce->name));
239-
240237
ZEND_COLD ZEND_METHOD(WeakReference, __construct)
241238
{
242239
zend_throw_error(NULL,

ext/curl/interface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1193,7 +1193,7 @@ PHP_MINIT_FUNCTION(curl)
11931193
zend_class_entry ce;
11941194
INIT_CLASS_ENTRY(ce, "CurlHandle", class_CurlHandle_methods);
11951195
curl_ce = zend_register_internal_class(&ce);
1196-
curl_ce->ce_flags |= ZEND_ACC_FINAL;
1196+
curl_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
11971197
curl_ce->create_object = curl_create_object;
11981198
curl_ce->serialize = zend_class_serialize_deny;
11991199
curl_ce->unserialize = zend_class_unserialize_deny;

ext/curl/multi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -597,7 +597,7 @@ void curl_multi_register_class(const zend_function_entry *method_entries) {
597597
zend_class_entry ce_multi;
598598
INIT_CLASS_ENTRY(ce_multi, "CurlMultiHandle", method_entries);
599599
curl_multi_ce = zend_register_internal_class(&ce_multi);
600-
curl_multi_ce->ce_flags |= ZEND_ACC_FINAL;
600+
curl_multi_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
601601
curl_multi_ce->create_object = curl_multi_create_object;
602602
curl_multi_ce->serialize = zend_class_serialize_deny;
603603
curl_multi_ce->unserialize = zend_class_unserialize_deny;

ext/curl/share.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ void curl_share_register_class(const zend_function_entry *method_entries) {
173173
zend_class_entry ce_share;
174174
INIT_CLASS_ENTRY(ce_share, "CurlShareHandle", method_entries);
175175
curl_share_ce = zend_register_internal_class(&ce_share);
176-
curl_share_ce->ce_flags |= ZEND_ACC_FINAL;
176+
curl_share_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
177177
curl_share_ce->create_object = curl_share_create_object;
178178
curl_share_ce->serialize = &zend_class_serialize_deny;
179179
curl_share_ce->unserialize = &zend_class_unserialize_deny;

ext/enchant/enchant.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ PHP_MINIT_FUNCTION(enchant)
192192

193193
INIT_CLASS_ENTRY(bce, "EnchantBroker", class_EnchantBroker_methods);
194194
enchant_broker_ce = zend_register_internal_class(&bce);
195-
enchant_broker_ce->ce_flags |= ZEND_ACC_FINAL;
195+
enchant_broker_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
196196
enchant_broker_ce->create_object = enchant_broker_create_object;
197197
enchant_broker_ce->serialize = zend_class_serialize_deny;
198198
enchant_broker_ce->unserialize = zend_class_unserialize_deny;
@@ -204,7 +204,7 @@ PHP_MINIT_FUNCTION(enchant)
204204

205205
INIT_CLASS_ENTRY(dce, "EnchantDictionary", class_EnchantDictionary_methods);
206206
enchant_dict_ce = zend_register_internal_class(&dce);
207-
enchant_dict_ce->ce_flags |= ZEND_ACC_FINAL;
207+
enchant_dict_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
208208
enchant_dict_ce->create_object = enchant_dict_create_object;
209209
enchant_dict_ce->serialize = zend_class_serialize_deny;
210210
enchant_dict_ce->unserialize = zend_class_unserialize_deny;

ext/sysvsem/sysvsem.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ PHP_MINIT_FUNCTION(sysvsem)
156156
zend_class_entry ce;
157157
INIT_CLASS_ENTRY(ce, "SysvSemaphore", class_SysvSemaphore_methods);
158158
sysvsem_ce = zend_register_internal_class(&ce);
159-
sysvsem_ce->ce_flags |= ZEND_ACC_FINAL;
159+
sysvsem_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
160160
sysvsem_ce->create_object = sysvsem_create_object;
161161
sysvsem_ce->serialize = zend_class_serialize_deny;
162162
sysvsem_ce->unserialize = zend_class_unserialize_deny;

ext/sysvshm/sysvshm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ PHP_MINIT_FUNCTION(sysvshm)
104104
zend_class_entry ce;
105105
INIT_CLASS_ENTRY(ce, "SysvSharedMemory", class_SysvSharedMemory_methods);
106106
sysvshm_ce = zend_register_internal_class(&ce);
107-
sysvshm_ce->ce_flags |= ZEND_ACC_FINAL;
107+
sysvshm_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
108108
sysvshm_ce->create_object = sysvshm_create_object;
109109
sysvshm_ce->serialize = zend_class_serialize_deny;
110110
sysvshm_ce->unserialize = zend_class_unserialize_deny;

ext/xml/xml.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ PHP_MINIT_FUNCTION(xml)
257257
INIT_CLASS_ENTRY(ce, "XmlParser", class_XMLParser_methods);
258258
xml_parser_ce = zend_register_internal_class(&ce);
259259
xml_parser_ce->create_object = xml_parser_create_object;
260-
xml_parser_ce->ce_flags |= ZEND_ACC_FINAL;
260+
xml_parser_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
261261
xml_parser_ce->serialize = zend_class_serialize_deny;
262262
xml_parser_ce->unserialize = zend_class_unserialize_deny;
263263

ext/zlib/zlib.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1359,7 +1359,7 @@ static PHP_MINIT_FUNCTION(zlib)
13591359
zend_class_entry inflate_ce;
13601360
INIT_CLASS_ENTRY(inflate_ce, "InflateContext", class_InflateContext_methods);
13611361
inflate_context_ce = zend_register_internal_class(&inflate_ce);
1362-
inflate_context_ce->ce_flags |= ZEND_ACC_FINAL;
1362+
inflate_context_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
13631363
inflate_context_ce->create_object = inflate_context_create_object;
13641364
inflate_context_ce->serialize = zend_class_serialize_deny;
13651365
inflate_context_ce->unserialize = zend_class_unserialize_deny;
@@ -1373,7 +1373,7 @@ static PHP_MINIT_FUNCTION(zlib)
13731373
zend_class_entry deflate_ce;
13741374
INIT_CLASS_ENTRY(deflate_ce, "DeflateContext", class_DeflateContext_methods);
13751375
deflate_context_ce = zend_register_internal_class(&deflate_ce);
1376-
deflate_context_ce->ce_flags |= ZEND_ACC_FINAL;
1376+
deflate_context_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES;
13771377
deflate_context_ce->create_object = deflate_context_create_object;
13781378
deflate_context_ce->serialize = zend_class_serialize_deny;
13791379
deflate_context_ce->unserialize = zend_class_unserialize_deny;

0 commit comments

Comments
 (0)