[477571] Fix socket leak with bridges.

Don't leak sockets when an outgoing bridge connection with multiple
addresses is rejected.

Thanks to Johnny Egeland.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=477571
pull/145/head
Roger A. Light 10 years ago
parent 73f755acc4
commit 0c0961f6a4

@ -1,3 +1,11 @@
1.x.x - 2015xxxx
================
Broker:
- Don't leak sockets when outgoing bridge with multiple addresses cannot
connect. Closes #477571.
1.4.3 - 20150818
================
@ -22,6 +30,7 @@ Client library:
Clients:
- Report error string on connection failure rather than error code.
1.4.2 - 20150507
================

@ -178,7 +178,7 @@ int mosquitto_main_loop(struct mosquitto_db *db, mosq_sock_t *listensock, int li
&& context->bridge->cur_address != 0
&& now > context->bridge->primary_retry){
if(_mosquitto_try_connect(context, context->bridge->addresses[0].address, context->bridge->addresses[0].port, &bridge_sock, NULL, false) == MOSQ_ERR_SUCCESS){
if(_mosquitto_try_connect(context, context->bridge->addresses[0].address, context->bridge->addresses[0].port, &bridge_sock, NULL, false) <= 0){
COMPAT_CLOSE(bridge_sock);
_mosquitto_socket_close(db, context);
context->bridge->cur_address = context->bridge->address_count-1;

Loading…
Cancel
Save