diff options
-rw-r--r-- | ext/phar/phar_object.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index 39e287f232..aaa27bf001 100644 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -1388,6 +1388,10 @@ PHP_METHOD(Phar, __destruct) zval *zobj = ZEND_THIS; phar_archive_object *phar_obj = (phar_archive_object*)((char*)Z_OBJ_P(zobj) - Z_OBJ_P(zobj)->handlers->offset); + if (zend_parse_parameters_none() == FAILURE) { + return; + } + if (phar_obj->archive && phar_obj->archive->is_persistent) { zend_hash_str_del(&PHAR_G(phar_persist_map), (const char *) phar_obj->archive, sizeof(phar_obj->archive)); } @@ -4024,6 +4028,10 @@ PHP_METHOD(Phar, hasMetadata) { PHAR_ARCHIVE_OBJECT(); + if (zend_parse_parameters_none() == FAILURE) { + return; + } + RETURN_BOOL(Z_TYPE(phar_obj->archive->metadata) != IS_UNDEF); } /* }}} */ @@ -4105,6 +4113,10 @@ PHP_METHOD(Phar, delMetadata) return; } + if (zend_parse_parameters_none() == FAILURE) { + return; + } + if (Z_TYPE(phar_obj->archive->metadata) != IS_UNDEF) { zval_ptr_dtor(&phar_obj->archive->metadata); ZVAL_UNDEF(&phar_obj->archive->metadata); |