summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rpminfo.c6
-rw-r--r--tests/006-rpminfo-errors.phpt1
2 files changed, 3 insertions, 4 deletions
diff --git a/rpminfo.c b/rpminfo.c
index c90be1e..1183ff5 100644
--- a/rpminfo.c
+++ b/rpminfo.c
@@ -233,9 +233,7 @@ PHP_FUNCTION(rpminfo)
RETURN_THROWS();
}
if (error) {
- ZVAL_DEREF(error);
- zval_ptr_dtor_nogc(error);
- ZVAL_NULL(error);
+ ZEND_TRY_ASSIGN_REF_NULL(error);
}
if (php_check_open_basedir(path)) {
RETURN_NULL();
@@ -268,7 +266,7 @@ PHP_FUNCTION(rpminfo)
}
if (e_len) {
if (error) {
- ZVAL_STRINGL(error, e_msg, e_len);
+ ZEND_TRY_ASSIGN_REF_STRINGL(error, e_msg, e_len);
} else {
php_error_docref(NULL, E_WARNING, "%s", e_msg);
}
diff --git a/tests/006-rpminfo-errors.phpt b/tests/006-rpminfo-errors.phpt
index 5d205d7..007ed5c 100644
--- a/tests/006-rpminfo-errors.phpt
+++ b/tests/006-rpminfo-errors.phpt
@@ -9,6 +9,7 @@ var_dump(rpminfo(__DIR__ . "/missing.rpm"));
var_dump(rpminfo(__FILE__));
echo "\n+ PHP Warnings\n";
+$error='xxx';
var_dump(rpminfo(__DIR__ . "/missing.rpm", true, $error),
$error);
var_dump(rpminfo(__FILE__, false, $error),