summaryrefslogtreecommitdiff
path: root/ext/standard/proc_open.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/proc_open.c')
-rw-r--r--ext/standard/proc_open.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/ext/standard/proc_open.c b/ext/standard/proc_open.c
index 940dc7f1c8..d774808a7b 100644
--- a/ext/standard/proc_open.c
+++ b/ext/standard/proc_open.c
@@ -266,7 +266,9 @@ PHP_FUNCTION(proc_terminate)
RETURN_FALSE;
}
- ZEND_FETCH_RESOURCE(proc, struct php_process_handle *, zproc, -1, "process", le_proc_open);
+ if ((proc = (struct php_process_handle *)zend_fetch_resource(Z_RES_P(zproc), "process", le_proc_open)) == NULL) {
+ RETURN_FALSE;
+ }
#ifdef PHP_WIN32
if (TerminateProcess(proc->childHandle, 255)) {
@@ -295,7 +297,9 @@ PHP_FUNCTION(proc_close)
RETURN_FALSE;
}
- ZEND_FETCH_RESOURCE(proc, struct php_process_handle *, zproc, -1, "process", le_proc_open);
+ if ((proc = (struct php_process_handle *)zend_fetch_resource(Z_RES_P(zproc), "process", le_proc_open)) == NULL) {
+ RETURN_FALSE;
+ }
FG(pclose_wait) = 1;
zend_list_close(Z_RES_P(zproc));
@@ -323,7 +327,9 @@ PHP_FUNCTION(proc_get_status)
RETURN_FALSE;
}
- ZEND_FETCH_RESOURCE(proc, struct php_process_handle *, zproc, -1, "process", le_proc_open);
+ if ((proc = (struct php_process_handle *)zend_fetch_resource(Z_RES_P(zproc), "process", le_proc_open)) == NULL) {
+ RETURN_FALSE;
+ }
array_init(return_value);
@@ -946,7 +952,7 @@ PHP_FUNCTION(proc_open)
}
}
- ZEND_REGISTER_RESOURCE(return_value, proc, le_proc_open);
+ ZVAL_RES(return_value, zend_register_resource(proc, le_proc_open));
return;
exit_fail: