diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index f9748fc49f2..5825a3d7ff6 100644 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -1792,6 +1792,10 @@ PHP_METHOD(Phar, buildFromDirectory) pass.ret = return_value; pass.fp = php_stream_fopen_tmpfile(); if (pass.fp == NULL) { + zval_ptr_dtor(&iteriter); + if (apply_reg) { + zval_ptr_dtor(®exiter); + } zend_throw_exception_ex(phar_ce_PharException, 0, "phar \"%s\" unable to create temporary file", phar_obj->archive->fname); RETURN_THROWS(); }