From 96b7619afcfae3322f96ad8b93e8b072f09ec6c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Fri, 14 Jul 2017 13:47:30 +0100 Subject: [PATCH] Do not unlock client unless we are destroying it --- servers/lloadd/operation.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/servers/lloadd/operation.c b/servers/lloadd/operation.c index 01b4dc3c3d..14bf4bd798 100644 --- a/servers/lloadd/operation.c +++ b/servers/lloadd/operation.c @@ -778,6 +778,7 @@ request_process( Connection *client, Operation *op ) output = upstream->c_pendingber; if ( output == NULL && (output = ber_alloc()) == NULL ) { + rc = -1; goto fail; } upstream->c_pendingber = output; @@ -851,9 +852,8 @@ fail: CONNECTION_LOCK_DECREF(client); op->o_client_refcnt--; operation_destroy_from_client( op ); - CLIENT_UNLOCK_OR_DESTROY(client); - if ( !client ) { - rc = -1; + if ( rc ) { + CLIENT_DESTROY(client); } return rc; }