summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2008-03-10 20:09:22 +0000
committerAndrey Hristov <andrey@php.net>2008-03-10 20:09:22 +0000
commit031e443b44095b60274b35373fbcb4266a2ca640 (patch)
tree9d63d227734756676f766f261c8e9d49234347d1 /main
parent977f7b6716e0f5bc0e687ed3387b404468125d43 (diff)
downloadphp-git-031e443b44095b60274b35373fbcb4266a2ca640.tar.gz
char **error_string was passed but not used. This causes problems in cases
of getaddrinfo() failure, because the upper layers don't get the error. initialize a variable because we were reading initialized in case of error.
Diffstat (limited to 'main')
-rw-r--r--main/network.c9
-rw-r--r--main/streams/xp_socket.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/main/network.c b/main/network.c
index ecbdc13ebb..ac9f337c3b 100644
--- a/main/network.c
+++ b/main/network.c
@@ -200,10 +200,12 @@ static int php_network_getaddresses(const char *host, int socktype, struct socka
# endif
if ((n = getaddrinfo(host, NULL, &hints, &res))) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "php_network_getaddresses: getaddrinfo failed: %s", PHP_GAI_STRERROR(n));
+ spprintf(error_string, 0, "php_network_getaddresses: getaddrinfo failed: %s", PHP_GAI_STRERROR(n));
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", *error_string);
return 0;
} else if (res == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "php_network_getaddresses: getaddrinfo failed (null result pointer)");
+ spprintf(error_string, 0, "php_network_getaddresses: getaddrinfo failed (null result pointer) errno=%d", errno);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", *error_string);
return 0;
}
@@ -227,7 +229,8 @@ static int php_network_getaddresses(const char *host, int socktype, struct socka
/* XXX NOT THREAD SAFE (is safe under win32) */
host_info = gethostbyname(host);
if (host_info == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "php_network_getaddresses: gethostbyname failed");
+ spprintf(error_string, 0, "php_network_getaddresses: gethostbyname failed. errno=%d", errno);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", *error_string);
return 0;
}
in = *((struct in_addr *) host_info->h_addr);
diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c
index d40cfefe61..3cdc91c451 100644
--- a/main/streams/xp_socket.c
+++ b/main/streams/xp_socket.c
@@ -601,7 +601,7 @@ static inline int php_tcp_sockop_connect(php_stream *stream, php_netstream_data_
{
char *host = NULL, *bindto = NULL;
int portno, bindport = 0;
- int err;
+ int err = 0;
int ret;
zval **tmpzval = NULL;