From 367aeb584456a1f710f41a133a789331782913e2 Mon Sep 17 00:00:00 2001 From: Dmitry Podgorny Date: Fri, 8 Apr 2016 18:17:07 +0000 Subject: [PATCH] conn: don't set tcp keepalives for disconnected connection In XMPP_CONN_DISCONNECTED state conn->sock is undefined. --- src/conn.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/conn.c b/src/conn.c index 72536c1..2d6b660 100644 --- a/src/conn.c +++ b/src/conn.c @@ -188,6 +188,12 @@ xmpp_conn_t *xmpp_conn_clone(xmpp_conn_t * const conn) void xmpp_conn_set_keepalive(xmpp_conn_t * const conn, int timeout, int interval) { int ret; + + if (conn->state == XMPP_STATE_DISCONNECTED) { + xmpp_error(conn->ctx, "xmpp", "Setting TCP keepalive impossible on" + "disconnected connection"); + return; + } ret = sock_set_keepalive(conn->sock, timeout, interval); if (ret < 0) { xmpp_error(conn->ctx, "xmpp", "Setting TCP keepalive (%d,%d) error: %d",