From: Benjamin Kaduk Date: Tue, 28 Nov 2017 04:07:53 +0000 (-0600) Subject: rx: fix call refcount leak in error case X-Git-Tag: upstream/1.8.0_pre3^2~5 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=6e611c56c5b910e329c20c3a20ed2ba5755b0461;p=packages%2Fo%2Fopenafs.git rx: fix call refcount leak in error case The recent event handling normalization in commit 304d758983b499dc568d6ca57b6e92df24b69de8 had event handlers switch to dropping their reference on the associated connection/call just before return. An early return case was missed in the conversion, leading to a refcount leak in an error case. Reviewed-on: https://gerrit.openafs.org/12781 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk (cherry picked from commit 66b74e78ba5fea6a8236dcd3b8b46e1dfa6a0ac7) Change-Id: I532c49b2ef6ec95dd26a99c02e12ea53348f9690 Reviewed-on: https://gerrit.openafs.org/12783 Reviewed-by: Michael Meffie Tested-by: BuildBot Reviewed-by: Benjamin Kaduk --- diff --git a/src/rx/rx.c b/src/rx/rx.c index ce9adcb43..9dc2e2bff 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -6463,6 +6463,7 @@ rxi_KeepAliveEvent(struct rxevent *event, void *arg1, void *dummy, if (rxi_CheckCall(call, 0)) { MUTEX_EXIT(&call->lock); + CALL_RELE(call, RX_CALL_REFCOUNT_ALIVE); return; }