projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Merge in bug fix for 456080.
[m6w6/libmemcached]
/
libmemcached
/
connect.c
diff --git
a/libmemcached/connect.c
b/libmemcached/connect.c
index 1f0175f21a5a00f00a7ceeb36db99e784a5af3bc..3afef7d32c99723cecb30fd76c864d43ad89df2e 100644
(file)
--- a/
libmemcached/connect.c
+++ b/
libmemcached/connect.c
@@
-19,16
+19,12
@@
static memcached_return_t connect_poll(memcached_server_st *ptr)
fds[0].fd = ptr->fd;
fds[0].events = POLLOUT;
fds[0].fd = ptr->fd;
fds[0].events = POLLOUT;
- int timeout= ptr->root->connect_timeout;
- if (ptr->root->flags.no_block == true)
- timeout= -1;
-
int error;
size_t loop_max= 5;
while (--loop_max) // Should only loop on cases of ERESTART or EINTR
{
int error;
size_t loop_max= 5;
while (--loop_max) // Should only loop on cases of ERESTART or EINTR
{
- error= poll(fds, 1, timeout);
+ error= poll(fds, 1,
ptr->root->connect_
timeout);
switch (error)
{
switch (error)
{
@@
-95,7
+91,9
@@
static memcached_return_t set_hostinfo(memcached_server_st *server)
char str_port[NI_MAXSERV];
uint32_t counter= 5;
char str_port[NI_MAXSERV];
uint32_t counter= 5;
- snprintf(str_port, NI_MAXSERV, "%u", (uint32_t)server->port);
+ int length= snprintf(str_port, NI_MAXSERV, "%u", (uint32_t)server->port);
+ if (length >= NI_MAXSERV || length < 0)
+ return MEMCACHED_FAILURE;
memset(&hints, 0, sizeof(hints));
memset(&hints, 0, sizeof(hints));
@@
-536,7
+534,7
@@
memcached_return_t memcached_connect(memcached_server_write_instance_st ptr)
case MEMCACHED_CONNECTION_TCP:
rc= network_connect(ptr);
#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
case MEMCACHED_CONNECTION_TCP:
rc= network_connect(ptr);
#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
- if (ptr->fd != INVALID_SOCKET && ptr->root->sasl
&& ptr->root->sasl->
callbacks)
+ if (ptr->fd != INVALID_SOCKET && ptr->root->sasl
.
callbacks)
{
rc= memcached_sasl_authenticate_connection(ptr);
if (rc != MEMCACHED_SUCCESS)
{
rc= memcached_sasl_authenticate_connection(ptr);
if (rc != MEMCACHED_SUCCESS)