--- a/loudmouth/lm-socket.c +++ b/loudmouth/lm-socket.c @@ -1022,7 +1022,7 @@ _lm_socket_create_phase2 (LmSocket *socket, struct addrinfo *ans) if (socket->connect_func) { (socket->connect_func) (socket, FALSE, socket->user_data; } - g_free (socket->connect_data); + g_free (socket->connect_data); socket->connect_data = NULL; return; } @@ -1107,6 +1107,10 @@ lm_socket_create (GMainContext *context, _lm_socket_create_phase1 (socket, NULL, 0); } +#ifndef HAVE_ASYNCNS + /* Only do this check if we are not using asyncns or it will crash. + * Report and patch by Senko. + */ if (socket->connect_data == NULL) { /* Open failed synchronously, probably a DNS lookup problem */ lm_socket_unref(socket); @@ -1118,6 +1122,7 @@ lm_socket_create (GMainContext *context, return NULL; } +#endif /* HAVE_ASYNCNS */ /* If the connection fails synchronously, we don't want to call the