Signed-off-by: Angus Salkeld <asalkeld(a)redhat.com>
---
lib/ipc_us.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/lib/ipc_us.c b/lib/ipc_us.c
index 8c989aa..4251f25 100644
--- a/lib/ipc_us.c
+++ b/lib/ipc_us.c
@@ -612,10 +612,14 @@ send_response:
}
if (res == 0) {
+ qb_ipcs_connection_ref(c);
if (s->serv_fns.connection_created) {
s->serv_fns.connection_created(c);
}
- c->state = QB_IPCS_CONNECTION_ESTABLISHED;
+ if (c->state == QB_IPCS_CONNECTION_ACTIVE) {
+ c->state = QB_IPCS_CONNECTION_ESTABLISHED;
+ }
+ qb_ipcs_connection_unref(c);
} else {
if (res == -EACCES) {
qb_util_log(LOG_ERR, "Invalid IPC credentials.");
--
1.7.7.6