summaryrefslogtreecommitdiff
path: root/ext/standard/streamsfuncs.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/streamsfuncs.c')
-rw-r--r--ext/standard/streamsfuncs.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c
index 360c436be7..e668b973b4 100644
--- a/ext/standard/streamsfuncs.c
+++ b/ext/standard/streamsfuncs.c
@@ -156,7 +156,7 @@ PHP_FUNCTION(stream_socket_client)
if (zerrstr && errstr) {
/* no need to dup; we need to efree buf anyway */
zval_dtor(zerrstr);
-//??? ZVAL_STRING(zerrstr, errstr, 0);
+ // TODO: avoid reallocation ???
ZVAL_STRING(zerrstr, errstr);
efree(errstr);
} else if (errstr) {
@@ -224,8 +224,9 @@ PHP_FUNCTION(stream_socket_server)
if (zerrstr && errstr) {
/* no need to dup; we need to efree buf anyway */
zval_dtor(zerrstr);
-//??? ZVAL_STRING(zerrstr, errstr, 0);
+ // TODO: avoid reallocation ???
ZVAL_STRING(zerrstr, errstr);
+ efree(errstr);
} else if (errstr) {
efree(errstr);
}
@@ -283,8 +284,9 @@ PHP_FUNCTION(stream_socket_accept)
TSRMLS_CC) && clistream) {
if (peername) {
-//??? ZVAL_STRINGL(zpeername, peername, peername_len, 0);
+ // TODO: avoid reallocation ???
ZVAL_STRINGL(zpeername, peername, peername_len);
+ efree(peername);
}
php_stream_to_zval(clistream, return_value);
} else {
@@ -322,8 +324,9 @@ PHP_FUNCTION(stream_socket_get_name)
RETURN_FALSE;
}
-//??? RETURN_STRINGL(name, name_len, 0);
- RETURN_STRINGL(name, name_len);
+ // TODO: avoid reallocation ???
+ RETVAL_STRINGL(name, name_len);
+ efree(name);
}
/* }}} */
@@ -394,8 +397,9 @@ PHP_FUNCTION(stream_socket_recvfrom)
if (recvd >= 0) {
if (zremote) {
-//??? ZVAL_STRINGL(zremote, remote_addr, remote_addr_len, 0);
+ // TODO: avoid reallocation ???
ZVAL_STRINGL(zremote, remote_addr, remote_addr_len);
+ efree(remote_addr);
}
read_buf->val[recvd] = '\0';
read_buf->len = recvd;
@@ -1537,7 +1541,7 @@ PHP_FUNCTION(stream_resolve_include_path)
resolved_path = zend_resolve_path(filename, filename_len TSRMLS_CC);
if (resolved_path) {
-//??? RETURN_STRING(resolved_path, 0);
+ // TODO: avoid reallocation ???
RETVAL_STRING(resolved_path);
efree(resolved_path);
return;