summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/fsock.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/standard/fsock.c b/ext/standard/fsock.c
index 6f46f53608..298701c1c2 100644
--- a/ext/standard/fsock.c
+++ b/ext/standard/fsock.c
@@ -285,9 +285,11 @@ static void php_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
CLOSE_SOCK(1);
if (arg_count>2) {
+ zval_dtor(*args[2]);
ZVAL_LONG(*args[2],errno);
}
if (arg_count>3) {
+ zval_dtor(*args[3]);
ZVAL_STRING(*args[3],strerror(errno),1);
}
RETURN_FALSE;
@@ -308,10 +310,12 @@ static void php_fsockopen(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
if (connect_nonb(socketd, (struct sockaddr *) &unix_addr, sizeof(unix_addr), &timeout) == SOCK_CONN_ERR) {
CLOSE_SOCK(1);
- if(arg_count>2) {
+ if (arg_count>2) {
+ zval_dtor(*args[2]);
ZVAL_LONG(*args[2],errno);
}
- if(arg_count>3) {
+ if (arg_count>3) {
+ zval_dtor(*args[3]);
ZVAL_STRING(*args[3],strerror(errno),1);
}
RETURN_FALSE;