Fix sock_connect()
`rc` must be reset in order to make the `do-while` loop work in case
there's no `sockopt_cb` set.
Fixup of f3460460e9
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
This commit is contained in:
@@ -207,7 +207,7 @@ sock_t sock_connect(xmpp_sock_t *xsock)
|
|||||||
{
|
{
|
||||||
struct addrinfo *ainfo;
|
struct addrinfo *ainfo;
|
||||||
sock_t sock;
|
sock_t sock;
|
||||||
int rc = 0;
|
int rc;
|
||||||
char buf[64];
|
char buf[64];
|
||||||
|
|
||||||
do {
|
do {
|
||||||
@@ -228,6 +228,7 @@ sock_t sock_connect(xmpp_sock_t *xsock)
|
|||||||
|
|
||||||
sock = socket(ainfo->ai_family, ainfo->ai_socktype, ainfo->ai_protocol);
|
sock = socket(ainfo->ai_family, ainfo->ai_socktype, ainfo->ai_protocol);
|
||||||
if (sock != INVALID_SOCKET) {
|
if (sock != INVALID_SOCKET) {
|
||||||
|
rc = 0;
|
||||||
if (xsock->conn->sockopt_cb) {
|
if (xsock->conn->sockopt_cb) {
|
||||||
/* Don't allow user to overwrite sockfd value. */
|
/* Don't allow user to overwrite sockfd value. */
|
||||||
sock_t sock_copy = sock;
|
sock_t sock_copy = sock;
|
||||||
|
|||||||
Reference in New Issue
Block a user